Open CASCADE Technology  6.9.0
Data Structures | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes

OpenGl_View Class Reference

#include <OpenGl_View.hxx>

Inheritance diagram for OpenGl_View:
Inheritance graph
[legend]

Data Structures

struct  RaytracingParams
 Compile-time ray-tracing parameters. More...
 
class  ShaderSource
 Tool class for management of shader sources. More...
 
struct  StructState
 Describes state of OpenGL structure. More...
 

Public Member Functions

 OpenGl_View (const CALL_DEF_VIEWCONTEXT &AContext, OpenGl_StateCounter *theCounter)
 
virtual ~OpenGl_View ()
 
void ReleaseGlResources (const Handle< OpenGl_Context > &theCtx)
 
void SetTextureEnv (const Handle< OpenGl_Context > &theCtx, const Handle< Graphic3d_TextureEnv > &theTexture)
 
void SetSurfaceDetail (const Visual3d_TypeOfSurfaceDetail AMode)
 
void SetBackfacing (const Standard_Integer AMode)
 
void SetLights (const CALL_DEF_VIEWCONTEXT &AContext)
 
void SetAntiAliasing (const Standard_Boolean AMode)
 
void SetClipPlanes (const Graphic3d_SequenceOfHClipPlane &thePlanes)
 
void SetVisualisation (const CALL_DEF_VIEWCONTEXT &AContext)
 
const Handle< Graphic3d_Camera > & Camera ()
 
void SetCamera (const Handle< Graphic3d_Camera > &theCamera)
 
void SetClipLimit (const Graphic3d_CView &theCView)
 
void SetFog (const Graphic3d_CView &theCView, const Standard_Boolean theFlag)
 
OpenGl_TrihedronChangeTrihedron ()
 
void TriedronDisplay (const Aspect_TypeOfTriedronPosition thePosition, const Quantity_NameOfColor theColor, const Standard_Real theScale, const Standard_Boolean theAsWireframe)
 
void TriedronErase (const Handle< OpenGl_Context > &theCtx)
 
OpenGl_GraduatedTrihedronChangeGraduatedTrihedron ()
 
void GraduatedTrihedronDisplay (const Handle< OpenGl_Context > &theCtx, const Graphic3d_GraduatedTrihedron &theCubic)
 
void GraduatedTrihedronErase (const Handle< OpenGl_Context > &theCtx)
 
Standard_Real Height () const
 
Standard_Real Width () const
 
Standard_Integer Backfacing () const
 
const TEL_TRANSFORM_PERSISTENCEBeginTransformPersistence (const Handle< OpenGl_Context > &theCtx, const TEL_TRANSFORM_PERSISTENCE *theTransPers, Standard_Integer theWidth, Standard_Integer theHeight)
 
void EndTransformPersistence (const Handle< OpenGl_Context > &theCtx)
 
void DisplayStructure (const Handle< Graphic3d_Structure > &theStructure, const Standard_Integer thePriority)
 Add structure to display list with specified priority. The structure will be added to associated with it z layer. If the z layer is not presented in the view, the structure will be displayed in default bottom-level z layer. More...
 
void EraseStructure (const Handle< Graphic3d_Structure > &theStructure)
 Erase structure from display list. More...
 
void DisplayImmediateStructure (const Handle< Graphic3d_Structure > &theStructure)
 Add structure to the list of immediate structures. More...
 
void EraseImmediateStructure (const OpenGl_Structure *theStructure)
 Erase structure from display list. More...
 
void AddZLayer (const Graphic3d_ZLayerId theLayerId)
 Insert a new top-level z layer with ID <theLayerId> More...
 
void RemoveZLayer (const Graphic3d_ZLayerId theLayerId)
 Remove a z layer with ID <theLayerId> More...
 
void ChangeZLayer (const OpenGl_Structure *theStructure, const Graphic3d_ZLayerId theNewLayerId)
 Display structure in z layer with ID <theNewLayerId> If the layer with ID <theNewLayerId> is not presented in the view, the structure will be displayed in default bottom-level layer. More...
 
void SetZLayerSettings (const Graphic3d_ZLayerId theLayerId, const Graphic3d_ZLayerSettings &theSettings)
 Sets the settings for a single Z layer of specified view. More...
 
void ChangePriority (const OpenGl_Structure *theStructure, const Standard_Integer theNewPriority)
 Changes the priority of a structure within its ZLayer. More...
 
void CreateBackgroundTexture (const Standard_CString AFileName, const Aspect_FillMethod AFillStyle)
 
void SetBackgroundTextureStyle (const Aspect_FillMethod FillStyle)
 
void SetBackgroundGradient (const Quantity_Color &AColor1, const Quantity_Color &AColor2, const Aspect_GradientFillMethod AType)
 
void SetBackgroundGradientType (const Aspect_GradientFillMethod AType)
 
void Render (const Handle< OpenGl_PrinterContext > &thePrintContext, const Handle< OpenGl_Workspace > &theWorkspace, OpenGl_FrameBuffer *theReadDrawFbo, Graphic3d_Camera::Projection theProjection, const Graphic3d_CView &theCView, const Aspect_CLayer2d &theCUnderLayer, const Aspect_CLayer2d &theCOverLayer, const Standard_Boolean theToDrawImmediate)
 
void DrawBackground (const Handle< OpenGl_Workspace > &theWorkspace)
 
const OpenGl_LayerListLayerList () const
 Returns list of OpenGL Z-layers. More...
 
const OpenGl_ListOfLightLightList () const
 Returns list of openGL light sources. More...
 
const Handle< OpenGl_Texture > & TextureEnv () const
 Returns OpenGL environment map. More...
 
Visual3d_TypeOfSurfaceDetail SurfaceDetail () const
 Returns visualization mode for objects in the view. More...
 
OpenGl_BVHTreeSelectorBVHTreeSelector ()
 Returns selector for BVH tree, providing a possibility to store information about current view volume and to detect which objects are overlapping it. More...
 
void InvalidateBVHData (const Standard_Integer theLayerId)
 Marks BVH tree for given priority list as dirty and marks primitive set for rebuild. More...
 
const OpenGl_SequenceOfStructureImmediateStructures () const
 Returns list of immediate structures rendered on top of main presentation. More...
 
bool HasImmediateStructures () const
 Returns true if there are immediate structures to display. More...
 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const Handle_Standard_Type &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const Handle_Standard_Type &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

Protected Types

typedef std::pair
< Standard_Size, Standard_Size
StateInfo
 

Protected Member Functions

void RenderStructs (const Handle< OpenGl_Workspace > &theWorkspace, OpenGl_FrameBuffer *theReadDrawFbo, const Graphic3d_CView &theCView, const Standard_Boolean theToDrawImmediate)
 
void RedrawLayer2d (const Handle< OpenGl_PrinterContext > &thePrintContext, const Handle< OpenGl_Workspace > &theWorkspace, const Graphic3d_CView &theCView, const Aspect_CLayer2d &theCLayer)
 
void RedrawTrihedron (const Handle< OpenGl_Workspace > &theWorkspace)
 
void RedrawScene (const Handle< OpenGl_PrinterContext > &thePrintContext, const Handle< OpenGl_Workspace > &theWorkspace, OpenGl_FrameBuffer *theReadDrawFbo, const Graphic3d_CView &theCView, const Standard_Boolean theToDrawImmediate)
 Redraw contents of model scene: clipping planes, lights, structures. The peculiar properties of "scene" is that it requires empty Z-Buffer and uses projection and orientation matrices supplied by 3d view. More...
 
methods related to ray-tracing
Standard_Boolean updateRaytraceGeometry (const RaytraceUpdateMode theMode, const Standard_Integer theViewId, const Handle< OpenGl_Context > &theGlContext)
 Updates 3D scene geometry for ray-tracing. More...
 
Standard_Boolean updateRaytraceLightSources (const OpenGl_Mat4 &theInvModelView, const Handle< OpenGl_Context > &theGlContext)
 Updates 3D scene light sources for ray-tracing. More...
 
Standard_Boolean updateRaytraceEnvironmentMap (const Handle< OpenGl_Context > &theGlContext)
 Updates environment map for ray-tracing. More...
 
Standard_Boolean toUpdateStructure (const OpenGl_Structure *theStructure)
 Checks to see if the OpenGL structure is modified. More...
 
Standard_Boolean addRaytraceStructure (const OpenGl_Structure *theStructure, const Handle< OpenGl_Context > &theGlContext)
 Adds OpenGL structure to ray-traced scene geometry. More...
 
Standard_Boolean addRaytraceGroups (const OpenGl_Structure *theStructure, const Standard_Integer theStructMat, const Standard_ShortReal *theTransform, const Handle< OpenGl_Context > &theGlContext)
 Adds OpenGL groups to ray-traced scene geometry. More...
 
OpenGl_RaytraceMaterial convertMaterial (const OpenGl_AspectFace *theAspect, const Handle< OpenGl_Context > &theGlContext)
 Creates ray-tracing material properties. More...
 
OpenGl_TriangleSetaddRaytracePrimitiveArray (const OpenGl_PrimitiveArray *theArray, const Standard_Integer theMatID, const OpenGl_Mat4 *theTrans)
 Adds OpenGL primitive array to ray-traced scene geometry. More...
 
Standard_Boolean addRaytraceVertexIndices (OpenGl_TriangleSet &theSet, const Standard_Integer theMatID, const Standard_Integer theCount, const Standard_Integer theOffset, const OpenGl_PrimitiveArray &theArray)
 Adds vertex indices from OpenGL primitive array to ray-traced scene geometry. More...
 
Standard_Boolean addRaytraceTriangleArray (OpenGl_TriangleSet &theSet, const Standard_Integer theMatID, const Standard_Integer theCount, const Standard_Integer theOffset, const Handle< Graphic3d_IndexBuffer > &theIndices)
 Adds OpenGL triangle array to ray-traced scene geometry. More...
 
Standard_Boolean addRaytraceTriangleFanArray (OpenGl_TriangleSet &theSet, const Standard_Integer theMatID, const Standard_Integer theCount, const Standard_Integer theOffset, const Handle< Graphic3d_IndexBuffer > &theIndices)
 Adds OpenGL triangle fan array to ray-traced scene geometry. More...
 
Standard_Boolean addRaytraceTriangleStripArray (OpenGl_TriangleSet &theSet, const Standard_Integer theMatID, const Standard_Integer theCount, const Standard_Integer theOffset, const Handle< Graphic3d_IndexBuffer > &theIndices)
 Adds OpenGL triangle strip array to ray-traced scene geometry. More...
 
Standard_Boolean addRaytraceQuadrangleArray (OpenGl_TriangleSet &theSet, const Standard_Integer theMatID, const Standard_Integer theCount, const Standard_Integer theOffset, const Handle< Graphic3d_IndexBuffer > &theIndices)
 Adds OpenGL quadrangle array to ray-traced scene geometry. More...
 
Standard_Boolean addRaytraceQuadrangleStripArray (OpenGl_TriangleSet &theSet, const Standard_Integer theMatID, const Standard_Integer theCount, const Standard_Integer theOffset, const Handle< Graphic3d_IndexBuffer > &theIndices)
 Adds OpenGL quadrangle strip array to ray-traced scene geometry. More...
 
Standard_Boolean addRaytracePolygonArray (OpenGl_TriangleSet &theSet, const Standard_Integer theMatID, const Standard_Integer theCount, const Standard_Integer theOffset, const Handle< Graphic3d_IndexBuffer > &theIndices)
 Adds OpenGL polygon array to ray-traced scene geometry. More...
 
Standard_Boolean uploadRaytraceData (const Handle< OpenGl_Context > &theGlContext)
 Uploads ray-trace data to the GPU. More...
 
TCollection_AsciiString generateShaderPrefix (const Handle< OpenGl_Context > &theGlContext) const
 Generates shader prefix based on current ray-tracing options. More...
 
Standard_Boolean safeFailBack (const TCollection_ExtendedString &theMessage, const Handle< OpenGl_Context > &theGlContext)
 Performs safe exit when shaders initialization fails. More...
 
Handle< OpenGl_ShaderObjectinitShader (const GLenum theType, const ShaderSource &theSource, const Handle< OpenGl_Context > &theGlContext)
 Loads and compiles shader object from specified source. More...
 
Standard_Boolean initRaytraceResources (const Graphic3d_CView &theCView, const Handle< OpenGl_Context > &theGlContext)
 Initializes OpenGL/GLSL shader programs. More...
 
void releaseRaytraceResources (const Handle< OpenGl_Context > &theGlContext)
 Releases OpenGL/GLSL shader programs. More...
 
Standard_Boolean resizeRaytraceBuffers (const Standard_Integer theSizeX, const Standard_Integer theSizeY, const Handle< OpenGl_Context > &theGlContext)
 Resizes OpenGL frame buffers. More...
 
void updateCamera (const OpenGl_Mat4 &theOrientation, const OpenGl_Mat4 &theViewMapping, OpenGl_Vec3 *theOrigins, OpenGl_Vec3 *theDirects, OpenGl_Mat4 &theUnView)
 Generates viewing rays for corners of screen quad. More...
 
void bindRaytraceTextures (const Handle< OpenGl_Context > &theGlContext)
 Binds ray-trace textures to corresponding texture units. More...
 
void unbindRaytraceTextures (const Handle< OpenGl_Context > &theGlContext)
 Unbinds ray-trace textures from corresponding texture unit. More...
 
Standard_Boolean setUniformState (const Graphic3d_CView &theCView, const OpenGl_Vec3 *theOrigins, const OpenGl_Vec3 *theDirects, const OpenGl_Mat4 &theUnviewMat, const Standard_Integer theProgramId, const Handle< OpenGl_Context > &theGlContext)
 Sets uniform state for the given ray-tracing shader program. More...
 
Standard_Boolean runRaytraceShaders (const Graphic3d_CView &theCView, const Standard_Integer theSizeX, const Standard_Integer theSizeY, const OpenGl_Vec3 *theOrigins, const OpenGl_Vec3 *theDirects, const OpenGl_Mat4 &theUnviewMat, OpenGl_FrameBuffer *theReadDrawFbo, const Handle< OpenGl_Context > &theGlContext)
 Runs ray-tracing shader programs. More...
 
Standard_Boolean raytrace (const Graphic3d_CView &theCView, const Standard_Integer theSizeX, const Standard_Integer theSizeY, OpenGl_FrameBuffer *theReadDrawFbo, const Handle< OpenGl_Context > &theGlContext)
 Redraws the window using OpenGL/GLSL ray-tracing. More...
 

Protected Attributes

Handle< OpenGl_LineAttributesmyLineAttribs
 
Handle< OpenGl_TexturemyTextureEnv
 
Visual3d_TypeOfSurfaceDetail mySurfaceDetail
 
Standard_Integer myBackfacing
 
OPENGL_ZCLIP myZClip
 
Graphic3d_SequenceOfHClipPlane myClipPlanes
 
Handle< Graphic3d_CameramyCamera
 
OPENGL_FOG myFog
 
OpenGl_Trihedron myTrihedron
 
OpenGl_GraduatedTrihedron myGraduatedTrihedron
 
bool myToShowTrihedron
 
bool myToShowGradTrihedron
 
int myVisualization
 
Visual3d_TypeOfModel myShadingModel
 lighting shading model More...
 
OpenGl_ListOfLight myLights
 
Standard_Boolean myAntiAliasing
 
OpenGl_LayerList myZLayers
 main list of displayed structure, sorted by layers More...
 
OpenGl_SequenceOfStructure myImmediateList
 list of immediate structures rendered on top of main presentation More...
 
const TEL_TRANSFORM_PERSISTENCEmyTransPers
 
Standard_Boolean myIsTransPers
 
Standard_Size myProjectionState
 Modification state. More...
 
Standard_Size myModelViewState
 
OpenGl_StateCountermyStateCounter
 
Standard_Size myCurrLightSourceState
 
StateInfo myLastOrientationState
 
StateInfo myLastViewMappingState
 
StateInfo myLastLightSourceState
 
OpenGl_BVHTreeSelector myBVHSelector
 Is needed for selection of overlapping objects and storage of the current view volume. More...
 
Background parameters
OpenGl_AspectFacemyTextureParams
 Stores texture and its parameters for textured background. More...
 
OpenGl_BackgroundArraymyBgGradientArray
 Primitive array for gradient background. More...
 
OpenGl_BackgroundArraymyBgTextureArray
 Primitive array for texture background. More...
 

data types related to ray-tracing

enum  RaytraceInitStatus { OpenGl_RT_NONE, OpenGl_RT_INIT, OpenGl_RT_FAIL }
 Result of OpenGL shaders initialization. More...
 
enum  RaytraceUpdateMode { OpenGl_GUM_CHECK, OpenGl_GUM_PREPARE, OpenGl_GUM_REBUILD }
 Describes update mode (state). More...
 
enum  ShaderVariableIndex {
  OpenGl_RT_aPosition, OpenGl_RT_uOriginLT, OpenGl_RT_uOriginLB, OpenGl_RT_uOriginRT,
  OpenGl_RT_uOriginRB, OpenGl_RT_uDirectLT, OpenGl_RT_uDirectLB, OpenGl_RT_uDirectRT,
  OpenGl_RT_uDirectRB, OpenGl_RT_uUnviewMat, OpenGl_RT_uSceneRad, OpenGl_RT_uSceneEps,
  OpenGl_RT_uLightAmbnt, OpenGl_RT_uLightCount, OpenGl_RT_uShadEnabled, OpenGl_RT_uReflEnabled,
  OpenGl_RT_uEnvMapEnable, OpenGl_RT_uOffsetX, OpenGl_RT_uOffsetY, OpenGl_RT_uSamples,
  OpenGl_RT_uWinSizeX, OpenGl_RT_uWinSizeY, OpenGl_RT_uTextures, OpenGl_RT_NbVariables
}
 Defines frequently used shader variables. More...
 
enum  ShaderSamplerNames {
  OpenGl_RT_SceneNodeInfoTexture = 0, OpenGl_RT_SceneMinPointTexture = 1, OpenGl_RT_SceneMaxPointTexture = 2, OpenGl_RT_SceneTransformTexture = 3,
  OpenGl_RT_GeometryVertexTexture = 4, OpenGl_RT_GeometryNormalTexture = 5, OpenGl_RT_GeometryTexCrdTexture = 6, OpenGl_RT_GeometryTriangTexture = 7,
  OpenGl_RT_EnvironmentMapTexture = 8, OpenGl_RT_RaytraceMaterialTexture = 9, OpenGl_RT_RaytraceLightSrcTexture = 10, OpenGl_RT_FSAAInputTexture = 11,
  OpenGl_RT_OpenGlColorTexture = 12, OpenGl_RT_OpenGlDepthTexture = 13
}
 Defines texture samplers. More...
 
static const Standard_Integer THE_DEFAULT_NB_BOUNCES = 3
 Default ray-tracing depth. More...
 
static const Standard_Integer THE_DEFAULT_STACK_SIZE = 24
 Default size of traversal stack. More...
 

fields related to ray-tracing

RaytraceInitStatus myRaytraceInitStatus
 Result of shaders initialization. More...
 
Standard_Boolean myIsRaytraceDataValid
 Is geometry data valid? More...
 
Standard_Boolean myIsRaytraceWarnTextures
 Warning about missing extension GL_ARB_bindless_texture has been displayed? More...
 
OpenGl_RaytraceGeometry myRaytraceGeometry
 3D scene geometry data for ray-tracing. More...
 
RaytracingParams myRaytraceParameters
 Compile-time ray-tracing parameters. More...
 
Standard_ShortReal myRaytraceSceneRadius
 Radius of bounding sphere of the scene. More...
 
Standard_ShortReal myRaytraceSceneEpsilon
 Scene epsilon to prevent self-intersections. More...
 
ShaderSource myRaytraceShaderSource
 OpenGL/GLSL source of ray-tracing fragment shader. More...
 
ShaderSource myPostFSAAShaderSource
 OpenGL/GLSL source of adaptive-AA fragment shader. More...
 
Handle< OpenGl_ShaderObjectmyRaytraceShader
 OpenGL/GLSL ray-tracing fragment shader. More...
 
Handle< OpenGl_ShaderObjectmyPostFSAAShader
 OpenGL/GLSL adaptive-AA fragment shader. More...
 
Handle< OpenGl_ShaderProgrammyRaytraceProgram
 OpenGL/GLSL ray-tracing shader program. More...
 
Handle< OpenGl_ShaderProgrammyPostFSAAProgram
 OpenGL/GLSL adaptive-AA shader program. More...
 
Handle< OpenGl_TextureBufferArbmySceneNodeInfoTexture
 Texture buffer of data records of bottom-level BVH nodes. More...
 
Handle< OpenGl_TextureBufferArbmySceneMinPointTexture
 Texture buffer of minimum points of bottom-level BVH nodes. More...
 
Handle< OpenGl_TextureBufferArbmySceneMaxPointTexture
 Texture buffer of maximum points of bottom-level BVH nodes. More...
 
Handle< OpenGl_TextureBufferArbmySceneTransformTexture
 Texture buffer of transformations of high-level BVH nodes. More...
 
Handle< OpenGl_TextureBufferArbmyGeometryVertexTexture
 Texture buffer of vertex coords. More...
 
Handle< OpenGl_TextureBufferArbmyGeometryNormalTexture
 Texture buffer of vertex normals. More...
 
Handle< OpenGl_TextureBufferArbmyGeometryTexCrdTexture
 Texture buffer of vertex UV coords. More...
 
Handle< OpenGl_TextureBufferArbmyGeometryTriangTexture
 Texture buffer of triangle indices. More...
 
Handle< OpenGl_TextureBufferArbmyRaytraceMaterialTexture
 Texture buffer of material properties. More...
 
Handle< OpenGl_TextureBufferArbmyRaytraceLightSrcTexture
 Texture buffer of light source properties. More...
 
Handle< OpenGl_FrameBuffermyRaytraceFBO1
 1st framebuffer (FBO) to perform adaptive FSAA. More...
 
Handle< OpenGl_FrameBuffermyRaytraceFBO2
 2nd framebuffer (FBO) to perform adaptive FSAA. More...
 
Handle< OpenGl_FrameBuffermyOpenGlFBO
 Framebuffer (FBO) for preliminary OpenGL output. More...
 
OpenGl_VertexBuffer myRaytraceScreenQuad
 Vertex buffer (VBO) for drawing dummy quad. More...
 
Standard_Integer myUniformLocations [2][OpenGl_RT_NbVariables]
 Cached locations of frequently used uniform variables. More...
 
std::map< const
OpenGl_Structure
*, StructState
myStructureStates
 State of OpenGL structures reflected to ray-tracing. More...
 
std::map< Standard_Size,
OpenGl_TriangleSet * > 
myArrayToTrianglesMap
 PrimitiveArray to TriangleSet map for scene partial update. More...
 
Handle< OpenGl_RaytraceFiltermyRaytraceFilter
 Graphical ray-tracing filter to filter out all raytracable structures. More...
 
Standard_Boolean myToUpdateEnvironmentMap
 Marks if environment map should be updated. More...
 
Standard_Size myLayersModificationStatus
 State of OpenGL layer list. More...
 
 DEFINE_STANDARD_RTTI (OpenGl_View) friend class OpenGl_Workspace
 Result of shaders initialization. More...
 

Member Typedef Documentation

typedef std::pair<Standard_Size, Standard_Size> OpenGl_View::StateInfo
protected

Member Enumeration Documentation

Result of OpenGL shaders initialization.

Enumerator
OpenGl_RT_NONE 
OpenGl_RT_INIT 
OpenGl_RT_FAIL 

Describes update mode (state).

Enumerator
OpenGl_GUM_CHECK 

check geometry state

OpenGl_GUM_PREPARE 

collect unchanged objects

OpenGl_GUM_REBUILD 

rebuild changed and new objects

Defines texture samplers.

Enumerator
OpenGl_RT_SceneNodeInfoTexture 
OpenGl_RT_SceneMinPointTexture 
OpenGl_RT_SceneMaxPointTexture 
OpenGl_RT_SceneTransformTexture 
OpenGl_RT_GeometryVertexTexture 
OpenGl_RT_GeometryNormalTexture 
OpenGl_RT_GeometryTexCrdTexture 
OpenGl_RT_GeometryTriangTexture 
OpenGl_RT_EnvironmentMapTexture 
OpenGl_RT_RaytraceMaterialTexture 
OpenGl_RT_RaytraceLightSrcTexture 
OpenGl_RT_FSAAInputTexture 
OpenGl_RT_OpenGlColorTexture 
OpenGl_RT_OpenGlDepthTexture 

Defines frequently used shader variables.

Enumerator
OpenGl_RT_aPosition 
OpenGl_RT_uOriginLT 
OpenGl_RT_uOriginLB 
OpenGl_RT_uOriginRT 
OpenGl_RT_uOriginRB 
OpenGl_RT_uDirectLT 
OpenGl_RT_uDirectLB 
OpenGl_RT_uDirectRT 
OpenGl_RT_uDirectRB 
OpenGl_RT_uUnviewMat 
OpenGl_RT_uSceneRad 
OpenGl_RT_uSceneEps 
OpenGl_RT_uLightAmbnt 
OpenGl_RT_uLightCount 
OpenGl_RT_uShadEnabled 
OpenGl_RT_uReflEnabled 
OpenGl_RT_uEnvMapEnable 
OpenGl_RT_uOffsetX 
OpenGl_RT_uOffsetY 
OpenGl_RT_uSamples 
OpenGl_RT_uWinSizeX 
OpenGl_RT_uWinSizeY 
OpenGl_RT_uTextures 
OpenGl_RT_NbVariables 

Constructor & Destructor Documentation

OpenGl_View::OpenGl_View ( const CALL_DEF_VIEWCONTEXT AContext,
OpenGl_StateCounter theCounter 
)
virtual OpenGl_View::~OpenGl_View ( )
virtual

Member Function Documentation

Standard_Boolean OpenGl_View::addRaytraceGroups ( const OpenGl_Structure theStructure,
const Standard_Integer  theStructMat,
const Standard_ShortReal theTransform,
const Handle< OpenGl_Context > &  theGlContext 
)
protected

Adds OpenGL groups to ray-traced scene geometry.

Standard_Boolean OpenGl_View::addRaytracePolygonArray ( OpenGl_TriangleSet theSet,
const Standard_Integer  theMatID,
const Standard_Integer  theCount,
const Standard_Integer  theOffset,
const Handle< Graphic3d_IndexBuffer > &  theIndices 
)
protected

Adds OpenGL polygon array to ray-traced scene geometry.

OpenGl_TriangleSet* OpenGl_View::addRaytracePrimitiveArray ( const OpenGl_PrimitiveArray theArray,
const Standard_Integer  theMatID,
const OpenGl_Mat4 theTrans 
)
protected

Adds OpenGL primitive array to ray-traced scene geometry.

Standard_Boolean OpenGl_View::addRaytraceQuadrangleArray ( OpenGl_TriangleSet theSet,
const Standard_Integer  theMatID,
const Standard_Integer  theCount,
const Standard_Integer  theOffset,
const Handle< Graphic3d_IndexBuffer > &  theIndices 
)
protected

Adds OpenGL quadrangle array to ray-traced scene geometry.

Standard_Boolean OpenGl_View::addRaytraceQuadrangleStripArray ( OpenGl_TriangleSet theSet,
const Standard_Integer  theMatID,
const Standard_Integer  theCount,
const Standard_Integer  theOffset,
const Handle< Graphic3d_IndexBuffer > &  theIndices 
)
protected

Adds OpenGL quadrangle strip array to ray-traced scene geometry.

Standard_Boolean OpenGl_View::addRaytraceStructure ( const OpenGl_Structure theStructure,
const Handle< OpenGl_Context > &  theGlContext 
)
protected

Adds OpenGL structure to ray-traced scene geometry.

Standard_Boolean OpenGl_View::addRaytraceTriangleArray ( OpenGl_TriangleSet theSet,
const Standard_Integer  theMatID,
const Standard_Integer  theCount,
const Standard_Integer  theOffset,
const Handle< Graphic3d_IndexBuffer > &  theIndices 
)
protected

Adds OpenGL triangle array to ray-traced scene geometry.

Standard_Boolean OpenGl_View::addRaytraceTriangleFanArray ( OpenGl_TriangleSet theSet,
const Standard_Integer  theMatID,
const Standard_Integer  theCount,
const Standard_Integer  theOffset,
const Handle< Graphic3d_IndexBuffer > &  theIndices 
)
protected

Adds OpenGL triangle fan array to ray-traced scene geometry.

Standard_Boolean OpenGl_View::addRaytraceTriangleStripArray ( OpenGl_TriangleSet theSet,
const Standard_Integer  theMatID,
const Standard_Integer  theCount,
const Standard_Integer  theOffset,
const Handle< Graphic3d_IndexBuffer > &  theIndices 
)
protected

Adds OpenGL triangle strip array to ray-traced scene geometry.

Standard_Boolean OpenGl_View::addRaytraceVertexIndices ( OpenGl_TriangleSet theSet,
const Standard_Integer  theMatID,
const Standard_Integer  theCount,
const Standard_Integer  theOffset,
const OpenGl_PrimitiveArray theArray 
)
protected

Adds vertex indices from OpenGL primitive array to ray-traced scene geometry.

void OpenGl_View::AddZLayer ( const Graphic3d_ZLayerId  theLayerId)

Insert a new top-level z layer with ID <theLayerId>

Standard_Integer OpenGl_View::Backfacing ( ) const
inline
const TEL_TRANSFORM_PERSISTENCE* OpenGl_View::BeginTransformPersistence ( const Handle< OpenGl_Context > &  theCtx,
const TEL_TRANSFORM_PERSISTENCE theTransPers,
Standard_Integer  theWidth,
Standard_Integer  theHeight 
)
void OpenGl_View::bindRaytraceTextures ( const Handle< OpenGl_Context > &  theGlContext)
protected

Binds ray-trace textures to corresponding texture units.

OpenGl_BVHTreeSelector& OpenGl_View::BVHTreeSelector ( )
inline

Returns selector for BVH tree, providing a possibility to store information about current view volume and to detect which objects are overlapping it.

const Handle< Graphic3d_Camera >& OpenGl_View::Camera ( )
inline
OpenGl_GraduatedTrihedron& OpenGl_View::ChangeGraduatedTrihedron ( )
inline
void OpenGl_View::ChangePriority ( const OpenGl_Structure theStructure,
const Standard_Integer  theNewPriority 
)

Changes the priority of a structure within its ZLayer.

OpenGl_Trihedron& OpenGl_View::ChangeTrihedron ( )
inline
void OpenGl_View::ChangeZLayer ( const OpenGl_Structure theStructure,
const Graphic3d_ZLayerId  theNewLayerId 
)

Display structure in z layer with ID <theNewLayerId> If the layer with ID <theNewLayerId> is not presented in the view, the structure will be displayed in default bottom-level layer.

OpenGl_RaytraceMaterial OpenGl_View::convertMaterial ( const OpenGl_AspectFace theAspect,
const Handle< OpenGl_Context > &  theGlContext 
)
protected

Creates ray-tracing material properties.

void OpenGl_View::CreateBackgroundTexture ( const Standard_CString  AFileName,
const Aspect_FillMethod  AFillStyle 
)
OpenGl_View::DEFINE_STANDARD_RTTI ( OpenGl_View  )

Result of shaders initialization.

void OpenGl_View::DisplayImmediateStructure ( const Handle< Graphic3d_Structure > &  theStructure)

Add structure to the list of immediate structures.

void OpenGl_View::DisplayStructure ( const Handle< Graphic3d_Structure > &  theStructure,
const Standard_Integer  thePriority 
)

Add structure to display list with specified priority. The structure will be added to associated with it z layer. If the z layer is not presented in the view, the structure will be displayed in default bottom-level z layer.

void OpenGl_View::DrawBackground ( const Handle< OpenGl_Workspace > &  theWorkspace)
void OpenGl_View::EndTransformPersistence ( const Handle< OpenGl_Context > &  theCtx)
void OpenGl_View::EraseImmediateStructure ( const OpenGl_Structure theStructure)

Erase structure from display list.

void OpenGl_View::EraseStructure ( const Handle< Graphic3d_Structure > &  theStructure)

Erase structure from display list.

TCollection_AsciiString OpenGl_View::generateShaderPrefix ( const Handle< OpenGl_Context > &  theGlContext) const
protected

Generates shader prefix based on current ray-tracing options.

void OpenGl_View::GraduatedTrihedronDisplay ( const Handle< OpenGl_Context > &  theCtx,
const Graphic3d_GraduatedTrihedron theCubic 
)
void OpenGl_View::GraduatedTrihedronErase ( const Handle< OpenGl_Context > &  theCtx)
bool OpenGl_View::HasImmediateStructures ( ) const
inline

Returns true if there are immediate structures to display.

Standard_Real OpenGl_View::Height ( ) const
inline
const OpenGl_SequenceOfStructure& OpenGl_View::ImmediateStructures ( ) const
inline

Returns list of immediate structures rendered on top of main presentation.

Standard_Boolean OpenGl_View::initRaytraceResources ( const Graphic3d_CView theCView,
const Handle< OpenGl_Context > &  theGlContext 
)
protected

Initializes OpenGL/GLSL shader programs.

Handle< OpenGl_ShaderObject > OpenGl_View::initShader ( const GLenum  theType,
const ShaderSource theSource,
const Handle< OpenGl_Context > &  theGlContext 
)
protected

Loads and compiles shader object from specified source.

void OpenGl_View::InvalidateBVHData ( const Standard_Integer  theLayerId)

Marks BVH tree for given priority list as dirty and marks primitive set for rebuild.

const OpenGl_LayerList& OpenGl_View::LayerList ( ) const
inline

Returns list of OpenGL Z-layers.

const OpenGl_ListOfLight& OpenGl_View::LightList ( ) const
inline

Returns list of openGL light sources.

Standard_Boolean OpenGl_View::raytrace ( const Graphic3d_CView theCView,
const Standard_Integer  theSizeX,
const Standard_Integer  theSizeY,
OpenGl_FrameBuffer theReadDrawFbo,
const Handle< OpenGl_Context > &  theGlContext 
)
protected

Redraws the window using OpenGL/GLSL ray-tracing.

void OpenGl_View::RedrawLayer2d ( const Handle< OpenGl_PrinterContext > &  thePrintContext,
const Handle< OpenGl_Workspace > &  theWorkspace,
const Graphic3d_CView theCView,
const Aspect_CLayer2d theCLayer 
)
protected
void OpenGl_View::RedrawScene ( const Handle< OpenGl_PrinterContext > &  thePrintContext,
const Handle< OpenGl_Workspace > &  theWorkspace,
OpenGl_FrameBuffer theReadDrawFbo,
const Graphic3d_CView theCView,
const Standard_Boolean  theToDrawImmediate 
)
protected

Redraw contents of model scene: clipping planes, lights, structures. The peculiar properties of "scene" is that it requires empty Z-Buffer and uses projection and orientation matrices supplied by 3d view.

void OpenGl_View::RedrawTrihedron ( const Handle< OpenGl_Workspace > &  theWorkspace)
protected
void OpenGl_View::ReleaseGlResources ( const Handle< OpenGl_Context > &  theCtx)
void OpenGl_View::releaseRaytraceResources ( const Handle< OpenGl_Context > &  theGlContext)
protected

Releases OpenGL/GLSL shader programs.

void OpenGl_View::RemoveZLayer ( const Graphic3d_ZLayerId  theLayerId)

Remove a z layer with ID <theLayerId>

void OpenGl_View::Render ( const Handle< OpenGl_PrinterContext > &  thePrintContext,
const Handle< OpenGl_Workspace > &  theWorkspace,
OpenGl_FrameBuffer theReadDrawFbo,
Graphic3d_Camera::Projection  theProjection,
const Graphic3d_CView theCView,
const Aspect_CLayer2d theCUnderLayer,
const Aspect_CLayer2d theCOverLayer,
const Standard_Boolean  theToDrawImmediate 
)
void OpenGl_View::RenderStructs ( const Handle< OpenGl_Workspace > &  theWorkspace,
OpenGl_FrameBuffer theReadDrawFbo,
const Graphic3d_CView theCView,
const Standard_Boolean  theToDrawImmediate 
)
protected
Standard_Boolean OpenGl_View::resizeRaytraceBuffers ( const Standard_Integer  theSizeX,
const Standard_Integer  theSizeY,
const Handle< OpenGl_Context > &  theGlContext 
)
protected

Resizes OpenGL frame buffers.

Standard_Boolean OpenGl_View::runRaytraceShaders ( const Graphic3d_CView theCView,
const Standard_Integer  theSizeX,
const Standard_Integer  theSizeY,
const OpenGl_Vec3 theOrigins,
const OpenGl_Vec3 theDirects,
const OpenGl_Mat4 theUnviewMat,
OpenGl_FrameBuffer theReadDrawFbo,
const Handle< OpenGl_Context > &  theGlContext 
)
protected

Runs ray-tracing shader programs.

Standard_Boolean OpenGl_View::safeFailBack ( const TCollection_ExtendedString theMessage,
const Handle< OpenGl_Context > &  theGlContext 
)
protected

Performs safe exit when shaders initialization fails.

void OpenGl_View::SetAntiAliasing ( const Standard_Boolean  AMode)
inline
void OpenGl_View::SetBackfacing ( const Standard_Integer  AMode)
void OpenGl_View::SetBackgroundGradient ( const Quantity_Color AColor1,
const Quantity_Color AColor2,
const Aspect_GradientFillMethod  AType 
)
void OpenGl_View::SetBackgroundGradientType ( const Aspect_GradientFillMethod  AType)
void OpenGl_View::SetBackgroundTextureStyle ( const Aspect_FillMethod  FillStyle)
void OpenGl_View::SetCamera ( const Handle< Graphic3d_Camera > &  theCamera)
inline
void OpenGl_View::SetClipLimit ( const Graphic3d_CView theCView)
void OpenGl_View::SetClipPlanes ( const Graphic3d_SequenceOfHClipPlane thePlanes)
inline
void OpenGl_View::SetFog ( const Graphic3d_CView theCView,
const Standard_Boolean  theFlag 
)
void OpenGl_View::SetLights ( const CALL_DEF_VIEWCONTEXT AContext)
void OpenGl_View::SetSurfaceDetail ( const Visual3d_TypeOfSurfaceDetail  AMode)
void OpenGl_View::SetTextureEnv ( const Handle< OpenGl_Context > &  theCtx,
const Handle< Graphic3d_TextureEnv > &  theTexture 
)
Standard_Boolean OpenGl_View::setUniformState ( const Graphic3d_CView theCView,
const OpenGl_Vec3 theOrigins,
const OpenGl_Vec3 theDirects,
const OpenGl_Mat4 theUnviewMat,
const Standard_Integer  theProgramId,
const Handle< OpenGl_Context > &  theGlContext 
)
protected

Sets uniform state for the given ray-tracing shader program.

void OpenGl_View::SetVisualisation ( const CALL_DEF_VIEWCONTEXT AContext)
void OpenGl_View::SetZLayerSettings ( const Graphic3d_ZLayerId  theLayerId,
const Graphic3d_ZLayerSettings theSettings 
)

Sets the settings for a single Z layer of specified view.

Visual3d_TypeOfSurfaceDetail OpenGl_View::SurfaceDetail ( ) const
inline

Returns visualization mode for objects in the view.

const Handle< OpenGl_Texture >& OpenGl_View::TextureEnv ( ) const
inline

Returns OpenGL environment map.

Standard_Boolean OpenGl_View::toUpdateStructure ( const OpenGl_Structure theStructure)
protected

Checks to see if the OpenGL structure is modified.

void OpenGl_View::TriedronDisplay ( const Aspect_TypeOfTriedronPosition  thePosition,
const Quantity_NameOfColor  theColor,
const Standard_Real  theScale,
const Standard_Boolean  theAsWireframe 
)
void OpenGl_View::TriedronErase ( const Handle< OpenGl_Context > &  theCtx)
void OpenGl_View::unbindRaytraceTextures ( const Handle< OpenGl_Context > &  theGlContext)
protected

Unbinds ray-trace textures from corresponding texture unit.

void OpenGl_View::updateCamera ( const OpenGl_Mat4 theOrientation,
const OpenGl_Mat4 theViewMapping,
OpenGl_Vec3 theOrigins,
OpenGl_Vec3 theDirects,
OpenGl_Mat4 theUnView 
)
protected

Generates viewing rays for corners of screen quad.

Standard_Boolean OpenGl_View::updateRaytraceEnvironmentMap ( const Handle< OpenGl_Context > &  theGlContext)
protected

Updates environment map for ray-tracing.

Standard_Boolean OpenGl_View::updateRaytraceGeometry ( const RaytraceUpdateMode  theMode,
const Standard_Integer  theViewId,
const Handle< OpenGl_Context > &  theGlContext 
)
protected

Updates 3D scene geometry for ray-tracing.

Standard_Boolean OpenGl_View::updateRaytraceLightSources ( const OpenGl_Mat4 theInvModelView,
const Handle< OpenGl_Context > &  theGlContext 
)
protected

Updates 3D scene light sources for ray-tracing.

Standard_Boolean OpenGl_View::uploadRaytraceData ( const Handle< OpenGl_Context > &  theGlContext)
protected

Uploads ray-trace data to the GPU.

Standard_Real OpenGl_View::Width ( ) const
inline

Field Documentation

Standard_Boolean OpenGl_View::myAntiAliasing
protected
std::map<Standard_Size, OpenGl_TriangleSet*> OpenGl_View::myArrayToTrianglesMap
protected

PrimitiveArray to TriangleSet map for scene partial update.

Standard_Integer OpenGl_View::myBackfacing
protected
OpenGl_BackgroundArray* OpenGl_View::myBgGradientArray
protected

Primitive array for gradient background.

OpenGl_BackgroundArray* OpenGl_View::myBgTextureArray
protected

Primitive array for texture background.

OpenGl_BVHTreeSelector OpenGl_View::myBVHSelector
protected

Is needed for selection of overlapping objects and storage of the current view volume.

Handle< Graphic3d_Camera > OpenGl_View::myCamera
protected
Graphic3d_SequenceOfHClipPlane OpenGl_View::myClipPlanes
protected
Standard_Size OpenGl_View::myCurrLightSourceState
protected
OPENGL_FOG OpenGl_View::myFog
protected
Handle< OpenGl_TextureBufferArb > OpenGl_View::myGeometryNormalTexture
protected

Texture buffer of vertex normals.

Handle< OpenGl_TextureBufferArb > OpenGl_View::myGeometryTexCrdTexture
protected

Texture buffer of vertex UV coords.

Handle< OpenGl_TextureBufferArb > OpenGl_View::myGeometryTriangTexture
protected

Texture buffer of triangle indices.

Handle< OpenGl_TextureBufferArb > OpenGl_View::myGeometryVertexTexture
protected

Texture buffer of vertex coords.

OpenGl_GraduatedTrihedron OpenGl_View::myGraduatedTrihedron
protected
OpenGl_SequenceOfStructure OpenGl_View::myImmediateList
protected

list of immediate structures rendered on top of main presentation

Standard_Boolean OpenGl_View::myIsRaytraceDataValid
protected

Is geometry data valid?

Standard_Boolean OpenGl_View::myIsRaytraceWarnTextures
protected

Warning about missing extension GL_ARB_bindless_texture has been displayed?

Standard_Boolean OpenGl_View::myIsTransPers
protected
StateInfo OpenGl_View::myLastLightSourceState
protected
StateInfo OpenGl_View::myLastOrientationState
protected
StateInfo OpenGl_View::myLastViewMappingState
protected
Standard_Size OpenGl_View::myLayersModificationStatus
protected

State of OpenGL layer list.

OpenGl_ListOfLight OpenGl_View::myLights
protected
Handle< OpenGl_LineAttributes > OpenGl_View::myLineAttribs
protected
Standard_Size OpenGl_View::myModelViewState
protected
Handle< OpenGl_FrameBuffer > OpenGl_View::myOpenGlFBO
protected

Framebuffer (FBO) for preliminary OpenGL output.

Handle< OpenGl_ShaderProgram > OpenGl_View::myPostFSAAProgram
protected

OpenGL/GLSL adaptive-AA shader program.

Handle< OpenGl_ShaderObject > OpenGl_View::myPostFSAAShader
protected

OpenGL/GLSL adaptive-AA fragment shader.

ShaderSource OpenGl_View::myPostFSAAShaderSource
protected

OpenGL/GLSL source of adaptive-AA fragment shader.

Standard_Size OpenGl_View::myProjectionState
protected

Modification state.

Handle< OpenGl_FrameBuffer > OpenGl_View::myRaytraceFBO1
protected

1st framebuffer (FBO) to perform adaptive FSAA.

Handle< OpenGl_FrameBuffer > OpenGl_View::myRaytraceFBO2
protected

2nd framebuffer (FBO) to perform adaptive FSAA.

Handle< OpenGl_RaytraceFilter > OpenGl_View::myRaytraceFilter
protected

Graphical ray-tracing filter to filter out all raytracable structures.

OpenGl_RaytraceGeometry OpenGl_View::myRaytraceGeometry
protected

3D scene geometry data for ray-tracing.

RaytraceInitStatus OpenGl_View::myRaytraceInitStatus
protected

Result of shaders initialization.

Handle< OpenGl_TextureBufferArb > OpenGl_View::myRaytraceLightSrcTexture
protected

Texture buffer of light source properties.

Handle< OpenGl_TextureBufferArb > OpenGl_View::myRaytraceMaterialTexture
protected

Texture buffer of material properties.

RaytracingParams OpenGl_View::myRaytraceParameters
protected

Compile-time ray-tracing parameters.

Handle< OpenGl_ShaderProgram > OpenGl_View::myRaytraceProgram
protected

OpenGL/GLSL ray-tracing shader program.

Standard_ShortReal OpenGl_View::myRaytraceSceneEpsilon
protected

Scene epsilon to prevent self-intersections.

Standard_ShortReal OpenGl_View::myRaytraceSceneRadius
protected

Radius of bounding sphere of the scene.

OpenGl_VertexBuffer OpenGl_View::myRaytraceScreenQuad
protected

Vertex buffer (VBO) for drawing dummy quad.

Handle< OpenGl_ShaderObject > OpenGl_View::myRaytraceShader
protected

OpenGL/GLSL ray-tracing fragment shader.

ShaderSource OpenGl_View::myRaytraceShaderSource
protected

OpenGL/GLSL source of ray-tracing fragment shader.

Handle< OpenGl_TextureBufferArb > OpenGl_View::mySceneMaxPointTexture
protected

Texture buffer of maximum points of bottom-level BVH nodes.

Handle< OpenGl_TextureBufferArb > OpenGl_View::mySceneMinPointTexture
protected

Texture buffer of minimum points of bottom-level BVH nodes.

Handle< OpenGl_TextureBufferArb > OpenGl_View::mySceneNodeInfoTexture
protected

Texture buffer of data records of bottom-level BVH nodes.

Handle< OpenGl_TextureBufferArb > OpenGl_View::mySceneTransformTexture
protected

Texture buffer of transformations of high-level BVH nodes.

Visual3d_TypeOfModel OpenGl_View::myShadingModel
protected

lighting shading model

OpenGl_StateCounter* OpenGl_View::myStateCounter
protected
std::map<const OpenGl_Structure*, StructState> OpenGl_View::myStructureStates
protected

State of OpenGL structures reflected to ray-tracing.

Visual3d_TypeOfSurfaceDetail OpenGl_View::mySurfaceDetail
protected
Handle< OpenGl_Texture > OpenGl_View::myTextureEnv
protected
OpenGl_AspectFace* OpenGl_View::myTextureParams
protected

Stores texture and its parameters for textured background.

bool OpenGl_View::myToShowGradTrihedron
protected
bool OpenGl_View::myToShowTrihedron
protected
Standard_Boolean OpenGl_View::myToUpdateEnvironmentMap
protected

Marks if environment map should be updated.

const TEL_TRANSFORM_PERSISTENCE* OpenGl_View::myTransPers
protected
OpenGl_Trihedron OpenGl_View::myTrihedron
protected
Standard_Integer OpenGl_View::myUniformLocations[2][OpenGl_RT_NbVariables]
protected

Cached locations of frequently used uniform variables.

int OpenGl_View::myVisualization
protected
OPENGL_ZCLIP OpenGl_View::myZClip
protected
OpenGl_LayerList OpenGl_View::myZLayers
protected

main list of displayed structure, sorted by layers

const Standard_Integer OpenGl_View::THE_DEFAULT_NB_BOUNCES = 3
staticprotected

Default ray-tracing depth.

const Standard_Integer OpenGl_View::THE_DEFAULT_STACK_SIZE = 24
staticprotected

Default size of traversal stack.


The documentation for this class was generated from the following file: