Open CASCADE Technology
7.0.0
|
Implementation of OpenGl view. More...
#include <OpenGl_View.hxx>
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 Handle< Graphic3d_StructureManager > &theMgr, const Handle< OpenGl_GraphicDriver > &theDriver, const Handle< OpenGl_Caps > &theCaps, Standard_Boolean &theDeviceLostFlag, OpenGl_StateCounter *theCounter) | |
Constructor. More... | |
virtual | ~OpenGl_View () |
Default destructor. More... | |
void | ReleaseGlResources (const Handle< OpenGl_Context > &theCtx) |
virtual void | Remove () override |
Deletes and erases the view. More... | |
Standard_Boolean | SetImmediateModeDrawToFront (const Standard_Boolean theDrawToFrontBuffer) override |
virtual void | SetWindow (const Handle< Aspect_Window > &theWindow, const Aspect_RenderingContext theContext) override |
Creates and maps rendering window to the view. More... | |
virtual Handle< Aspect_Window > | Window () const override |
Returns window associated with the view. More... | |
virtual Standard_Boolean | IsDefined () const override |
Returns True if the window associated to the view is defined. More... | |
virtual void | Resized () override |
Handle changing size of the rendering window. More... | |
virtual void | Redraw () override |
Redraw content of the view. More... | |
virtual void | RedrawImmediate () override |
Redraw immediate content of the view. More... | |
virtual void | Invalidate () override |
Marks BVH tree for given priority list as dirty and marks primitive set for rebuild. More... | |
virtual Standard_Boolean | IsInvalidated () override |
Return true if view content cache has been invalidated. More... | |
virtual void | TriedronDisplay (const Aspect_TypeOfTriedronPosition thePosition=Aspect_TOTP_CENTER, const Quantity_NameOfColor theColor=Quantity_NOC_WHITE, const Standard_Real theScale=0.02, const Standard_Boolean theAsWireframe=Standard_True) override |
Displays z-buffer trihedron. More... | |
virtual void | TriedronErase () override |
Erases z-buffer trihedron. More... | |
virtual void | ZBufferTriedronSetup (const Quantity_NameOfColor theXColor=Quantity_NOC_RED, const Quantity_NameOfColor theYColor=Quantity_NOC_GREEN, const Quantity_NameOfColor theZColor=Quantity_NOC_BLUE1, const Standard_Real theSizeRatio=0.8, const Standard_Real theAxisDiametr=0.05, const Standard_Integer theNbFacettes=12) override |
Setup parameters of z-buffer trihedron. More... | |
virtual void | TriedronEcho (const Aspect_TypeOfTriedronEcho theType=Aspect_TOTE_NONE) override |
Displays trihedron echo. More... | |
const Graphic3d_GraduatedTrihedron & | GetGraduatedTrihedron () override |
Returns data of a graduated trihedron. More... | |
virtual void | GraduatedTrihedronDisplay (const Graphic3d_GraduatedTrihedron &theTrihedronData) override |
Displays Graduated Trihedron. More... | |
virtual void | GraduatedTrihedronErase () override |
Erases Graduated Trihedron. More... | |
virtual void | GraduatedTrihedronMinMaxValues (const Graphic3d_Vec3 theMin, const Graphic3d_Vec3 theMax) override |
Sets minimum and maximum points of scene bounding box for Graduated Trihedron stored in graphic view object. More... | |
virtual Standard_Boolean | BufferDump (Image_PixMap &theImage, const Graphic3d_BufferType &theBufferType) override |
Dump active rendering buffer into specified memory buffer. More... | |
virtual Standard_Boolean | Print (const Aspect_Handle thePrinterDC, const Standard_Boolean theToShowBackground, const Standard_CString theFileName, const Aspect_PrintAlgo thePrintAlgorithm=Aspect_PA_STRETCH, const Standard_Real theScaleFactor=1.0) override |
Print the contents of the view to the printer. More... | |
virtual Standard_Boolean | Export (const Standard_CString theFileName, const Graphic3d_ExportFormat theFormat, const Graphic3d_SortType theSortType=Graphic3d_ST_BSP_Tree) override |
Export scene into the one of the Vector graphics formats (SVG, PS, PDF...). In contrast to Bitmaps, Vector graphics is scalable (so you may got quality benefits on printing to laser printer). Notice however that results may differ a lot and do not contain some elements. More... | |
virtual void | InvalidateBVHData (const Standard_Integer theLayerId) override |
Marks BVH tree and the set of BVH primitives of correspondent priority list with id theLayerId as outdated. More... | |
virtual void | AddZLayer (const Graphic3d_ZLayerId theLayerId) override |
Insert a new top-level z layer with the given ID. More... | |
virtual void | RemoveZLayer (const Graphic3d_ZLayerId theLayerId) override |
Remove a z layer with the given ID. More... | |
virtual void | SetZLayerSettings (const Graphic3d_ZLayerId theLayerId, const Graphic3d_ZLayerSettings &theSettings) override |
Sets the settings for a single Z layer of specified view. More... | |
virtual Handle< Standard_Transient > | FBO () const override |
Returns pointer to an assigned framebuffer object. More... | |
virtual void | SetFBO (const Handle< Standard_Transient > &theFbo) override |
Sets framebuffer object for offscreen rendering. More... | |
virtual Handle< Standard_Transient > | FBOCreate (const Standard_Integer theWidth, const Standard_Integer theHeight) override |
Generate offscreen FBO in the graphic library. If not supported on hardware returns NULL. More... | |
virtual void | FBORelease (Handle< Standard_Transient > &theFbo) override |
Remove offscreen FBO from the graphic library. More... | |
virtual void | FBOGetDimensions (const Handle< Standard_Transient > &theFbo, Standard_Integer &theWidth, Standard_Integer &theHeight, Standard_Integer &theWidthMax, Standard_Integer &theHeightMax) override |
Read offscreen FBO configuration. More... | |
virtual void | FBOChangeViewport (const Handle< Standard_Transient > &theFbo, const Standard_Integer theWidth, const Standard_Integer theHeight) override |
Change offscreen FBO viewport. More... | |
virtual Standard_Boolean | IsAntialiasingEnabled () const override |
Returns true if anti-aliasing is enabled for the view. More... | |
virtual void | SetAntialiasingEnabled (const Standard_Boolean theIsEnabled) override |
Enable or disable anti-aliasing in the view. More... | |
virtual Aspect_Background | Background () const override |
Returns background fill color. More... | |
virtual void | SetBackground (const Aspect_Background &theBackground) override |
Sets background fill color. More... | |
virtual Aspect_GradientBackground | GradientBackground () const override |
Returns gradient background fill colors. More... | |
virtual void | SetGradientBackground (const Aspect_GradientBackground &theBackground) override |
Sets gradient background fill colors. More... | |
virtual TCollection_AsciiString | BackgroundImage () override |
Returns background image texture file path. More... | |
virtual void | SetBackgroundImage (const TCollection_AsciiString &theFilePath) override |
Sets background image texture file path. More... | |
virtual Aspect_FillMethod | BackgroundImageStyle () const override |
Returns background image fill style. More... | |
virtual void | SetBackgroundImageStyle (const Aspect_FillMethod theFillStyle) override |
Sets background image fill style. More... | |
virtual Handle< Graphic3d_TextureEnv > | TextureEnv () const override |
Returns environment texture set for the view. More... | |
virtual void | SetTextureEnv (const Handle< Graphic3d_TextureEnv > &theTextureEnv) override |
Sets environment texture for the view. More... | |
virtual Standard_Boolean | IsCullingEnabled () const override |
Returns the state of frustum culling optimization. More... | |
virtual void | SetCullingEnabled (const Standard_Boolean theIsEnabled) override |
Enables or disables frustum culling optimization. More... | |
virtual Graphic3d_TypeOfShadingModel | ShadingModel () const override |
Returns shading model of the view. More... | |
virtual void | SetShadingModel (const Graphic3d_TypeOfShadingModel theModel) override |
Sets shading model of the view. More... | |
virtual Graphic3d_TypeOfSurfaceDetail | SurfaceDetailType () const override |
Returns surface detail type of the view. More... | |
virtual void | SetSurfaceDetailType (const Graphic3d_TypeOfSurfaceDetail theType) override |
Sets surface detail type of the view. More... | |
virtual Graphic3d_TypeOfBackfacingModel | BackfacingModel () const override |
Return backfacing model used for the view. More... | |
virtual void | SetBackfacingModel (const Graphic3d_TypeOfBackfacingModel theModel) override |
Sets backfacing model for the view. More... | |
virtual const Handle< Graphic3d_Camera > & | Camera () const override |
Returns camera object of the view. More... | |
virtual void | SetCamera (const Handle< Graphic3d_Camera > &theCamera) override |
Sets camera used by the view. More... | |
virtual Standard_Boolean | BackZClippingIsOn () const override |
Returns the activity of back z-clipping plane. More... | |
virtual void | SetBackZClippingOn (const Standard_Boolean theIsOn) override |
Activates the back Z-clipping plane. More... | |
virtual Standard_Real | ZClippingBackPlane () const override |
Returns the definition of the back Z-clipping plane. More... | |
virtual void | SetZClippingBackPlane (const Standard_Real theValue) override |
Sets the definition of the back Z-clipping plane. More... | |
virtual Standard_Boolean | FrontZClippingIsOn () const override |
Returns the activity of front z-clipping plane. More... | |
virtual void | SetFrontZClippingOn (const Standard_Boolean theIsOn) override |
Activates the front Z-clipping plane. More... | |
virtual Standard_Real | ZClippingFrontPlane () const override |
Returns the definition of the front Z-clipping plane. More... | |
virtual void | SetZClippingFrontPlane (const Standard_Real theValue) override |
Sets the definition of the front Z-clipping plane. More... | |
virtual Standard_Boolean | DepthCueingIsOn () const override |
Returns the activity of depth cueing. More... | |
virtual void | SetDepthCueingOn (const Standard_Boolean theIsOn) override |
Sets the activity of depth cueing. More... | |
virtual Standard_Real | DepthCueingBackPlane () const override |
Returns the back depth cueing plane. More... | |
virtual void | SetDepthCueingBackPlane (const Standard_Real theValue) override |
Set the back depth cueing plane. More... | |
virtual Standard_Real | DepthCueingFrontPlane () const override |
Returns the front depth cueing plane. More... | |
virtual void | SetDepthCueingFrontPlane (const Standard_Real theValue) override |
Set the front depth cueing plane. More... | |
virtual Standard_Boolean | IsGLLightEnabled () const override |
Returns true if GL lighting is enabled. More... | |
virtual void | SetGLLightEnabled (const Standard_Boolean theIsEnabled) override |
Sets GL lighting enabled or disable state. More... | |
virtual const Graphic3d_ListOfCLight & | Lights () const override |
Returns list of lights of the view. More... | |
virtual void | SetLights (const Graphic3d_ListOfCLight &theLights) override |
Sets list of lights for the view. More... | |
virtual const Graphic3d_SequenceOfHClipPlane & | ClipPlanes () const override |
Returns list of clip planes set for the view. More... | |
virtual void | SetClipPlanes (const Graphic3d_SequenceOfHClipPlane &thePlanes) override |
Sets list of clip planes for the view. More... | |
const TEL_COLOUR & | BackgroundColor () const |
Returns background color. More... | |
OpenGl_Trihedron & | ChangeTrihedron () |
Change trihedron. More... | |
OpenGl_GraduatedTrihedron & | ChangeGraduatedTrihedron () |
Change graduated trihedron. More... | |
void | SetTextureEnv (const Handle< OpenGl_Context > &theCtx, const Handle< Graphic3d_TextureEnv > &theTexture) |
Standard_Real | Height () const |
Returns height of view volume. More... | |
Standard_Real | Width () const |
Returns width of view volume. More... | |
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) |
const OpenGl_LayerList & | LayerList () const |
Returns list of OpenGL Z-layers. More... | |
const OpenGl_ListOfLight & | LightList () const |
Returns list of openGL light sources. More... | |
const Handle< OpenGl_Window > | GlWindow () const |
Returns OpenGL window implementation. More... | |
const Handle< OpenGl_Texture > & | GlTextureEnv () const |
Returns OpenGL environment map. More... | |
OpenGl_BVHTreeSelector & | BVHTreeSelector () |
Returns selector for BVH tree, providing a possibility to store information about current view volume and to detect which objects are overlapping it. More... | |
bool | HasImmediateStructures () const |
Returns true if there are immediate structures to display. More... | |
Public Member Functions inherited from Graphic3d_CView | |
Graphic3d_CView (const Handle< Graphic3d_StructureManager > &theMgr) | |
Constructor. More... | |
virtual | ~Graphic3d_CView () |
Destructor. More... | |
Standard_Integer | Identification () const |
Returns the identification number of the view. More... | |
virtual void | Activate () |
Activates the view. Map the associated window on the screen and post the view in this window. Warning: Raises ViewDefinitionError if the associated window isn't defined. More... | |
virtual void | Deactivate () |
Deactivates the view. Unmap the associated window on the screen and unpost the view in this window. Warning: Raises ViewDefinitionError if the associated window isn't defined. More... | |
Standard_Boolean | IsActive () const |
Returns the activity flag of the view. More... | |
Standard_Boolean | IsRemoved () const |
Returns true if the view was removed. More... | |
Graphic3d_TypeOfVisualization | VisualizationType () const |
Returns visualization type of the view. More... | |
void | SetVisualizationType (const Graphic3d_TypeOfVisualization theType) |
Sets visualization type of the view. More... | |
void | SetComputedMode (const Standard_Boolean theMode) |
Switches computed HLR mode in the view. More... | |
Standard_Boolean | ComputedMode () const |
Returns the computed HLR mode state. More... | |
void | ReCompute (const Handle< Graphic3d_Structure > &theStructure) |
Computes the new presentation of the structure displayed in this view with the type Graphic3d_TOS_COMPUTED. More... | |
void | Update (const Aspect_TypeOfUpdate theUpdateMode) |
Updates screen in function of modifications of the structures. More... | |
Standard_Boolean | ContainsFacet () const |
Returns Standard_True if one of the structures displayed in the view contains Polygons, Triangles or Quadrangles. More... | |
Standard_Boolean | ContainsFacet (const Graphic3d_MapOfStructure &theSet) const |
Returns Standard_True if one of the structures in the set contains Polygons, Triangles or Quadrangles. More... | |
void | DisplayedStructures (Graphic3d_MapOfStructure &theStructures) const |
Returns the set of structures displayed in this view. More... | |
Standard_Integer | NumberOfDisplayedStructures () const |
Returns number of displayed structures in the view. More... | |
const Handle< Graphic3d_NMapOfTransient > & | HiddenObjects () const |
Returns map of objects hidden within this specific view (not viewer-wise). More... | |
Handle< Graphic3d_NMapOfTransient > & | ChangeHiddenObjects () |
Returns map of objects hidden within this specific view (not viewer-wise). More... | |
Standard_Boolean | IsComputed (const Standard_Integer theStructId, Handle< Graphic3d_Structure > &theComputedStruct) const |
Returns Standard_True in case if the structure with the given <theStructId> is in list of structures to be computed and stores computed struct to <theComputedStruct>. More... | |
Bnd_Box | MinMaxValues (const Standard_Boolean theToIgnoreInfiniteFlag=Standard_False) const |
Returns the coordinates of the boundary box of all structures displayed in the view. If <theToIgnoreInfiniteFlag> is TRUE, then the boundary box also includes minimum and maximum limits of graphical elements forming parts of infinite structures. More... | |
Bnd_Box | MinMaxValues (const Graphic3d_MapOfStructure &theSet, const Standard_Boolean theToIgnoreInfiniteFlag=Standard_False) const |
Returns the coordinates of the boundary box of all structures in the set <theSet>. If <theToIgnoreInfiniteFlag> is TRUE, then the boundary box also includes minimum and maximum limits of graphical elements forming parts of infinite structures. More... | |
const Handle< Graphic3d_StructureManager > & | StructureManager () const |
Returns the structure manager handle which manage structures associated with this view. More... | |
virtual void | CopySettings (const Handle< Graphic3d_CView > &theOther) |
Copy visualization settings from another view. Method is used for cloning views in viewer when its required to create view with same view properties. More... | |
const Graphic3d_RenderingParams & | RenderingParams () const |
Returns current rendering parameters and effect settings. More... | |
Graphic3d_RenderingParams & | ChangeRenderingParams () |
Returns reference to current rendering parameters and effect settings. More... | |
Public Member Functions inherited from MMgt_TShared | |
virtual void | Delete () const override |
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_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. More... | |
virtual | ~Standard_Transient () |
Destructor must be virtual. More... | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. More... | |
Standard_Boolean | IsInstance (const opencascade::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 opencascade::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... | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
void | IncrementRefCounter () const |
Increments the reference counter of this object. More... | |
Standard_Integer | DecrementRefCounter () const |
Decrements the reference counter of this object; returns the decremented value. More... | |
Protected Member Functions | |
Internal methods for managing GL resources | |
void | initTextureEnv (const Handle< OpenGl_Context > &theContext) |
Initializes OpenGl resource for environment texture. More... | |
low-level redrawing sub-routines | |
virtual void | redraw (const Graphic3d_Camera::Projection theProjection, OpenGl_FrameBuffer *theReadDrawFbo) |
Redraws view for the given monographic camera projection, or left/right eye. More... | |
virtual bool | redrawImmediate (const Graphic3d_Camera::Projection theProjection, OpenGl_FrameBuffer *theReadFbo, OpenGl_FrameBuffer *theDrawFbo, const Standard_Boolean theIsPartialUpdate=Standard_False) |
Redraws view for the given monographic camera projection, or left/right eye. More... | |
bool | blitBuffers (OpenGl_FrameBuffer *theReadFbo, OpenGl_FrameBuffer *theDrawFbo, const Standard_Boolean theToFlip=Standard_False) |
Blit image from/to specified buffers. More... | |
void | bindDefaultFbo (OpenGl_FrameBuffer *theCustomFbo=NULL) |
Setup default FBO. 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 OpenGl_RaytraceMaterial &theStructMat, const Graphic3d_Mat4 *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_TriangleSet * | addRaytracePrimitiveArray (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_ShaderObject > | initShader (const GLenum theType, const ShaderSource &theSource, const Handle< OpenGl_Context > &theGlContext) |
Loads and compiles shader object from specified source. More... | |
Handle< OpenGl_ShaderProgram > | initProgram (const Handle< OpenGl_Context > &theGlContext, const Handle< OpenGl_ShaderObject > &theVertShader, const Handle< OpenGl_ShaderObject > &theFragShader) |
Creates shader program from the given vertex and fragment shaders. More... | |
Standard_Boolean | initRaytraceResources (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 | updateRaytraceBuffers (const Standard_Integer theSizeX, const Standard_Integer theSizeY, const Handle< OpenGl_Context > &theGlContext) |
Updates auxiliary OpenGL frame buffers. More... | |
void | updateCamera (const OpenGl_Mat4 &theOrientation, const OpenGl_Mat4 &theViewMapping, OpenGl_Vec3 *theOrigins, OpenGl_Vec3 *theDirects, OpenGl_Mat4 &theView, 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 OpenGl_Vec3 *theOrigins, const OpenGl_Vec3 *theDirects, const OpenGl_Mat4 &theViewMat, 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 Standard_Integer theSizeX, const Standard_Integer theSizeY, const OpenGl_Vec3 *theOrigins, const OpenGl_Vec3 *theDirects, const OpenGl_Mat4 &theViewMat, const OpenGl_Mat4 &theUnviewMat, Graphic3d_Camera::Projection theProjection, OpenGl_FrameBuffer *theReadDrawFbo, const Handle< OpenGl_Context > &theGlContext) |
Runs ray-tracing shader programs. More... | |
Standard_Boolean | raytrace (const Standard_Integer theSizeX, const Standard_Integer theSizeY, Graphic3d_Camera::Projection theProjection, OpenGl_FrameBuffer *theReadDrawFbo, const Handle< OpenGl_Context > &theGlContext) |
Redraws the window using OpenGL/GLSL ray-tracing. More... | |
Protected Member Functions inherited from Graphic3d_DataStructureManager | |
Graphic3d_DataStructureManager () | |
Initializes the manager <me>. More... | |
Protected Attributes | |
Rendering properties | |
GLint | myFboColorFormat |
Two framebuffers (left and right views) store cached main presentation of the view (without presentation of immediate layers). More... | |
GLint | myFboDepthFormat |
sized format for depth-stencil attachments More... | |
Handle< OpenGl_FrameBuffer > | myMainSceneFbos [2] |
Two framebuffers (left and right views) store cached main presentation of the view (without presentation of immediate layers). More... | |
Handle< OpenGl_FrameBuffer > | myImmediateSceneFbos [2] |
Additional buffers for immediate layer in stereo mode. More... | |
OpenGl_VertexBuffer | myFullScreenQuad |
Vertices for full-screen quad rendering. More... | |
OpenGl_VertexBuffer | myFullScreenQuadFlip |
Two framebuffers (left and right views) store cached main presentation of the view (without presentation of immediate layers). More... | |
Standard_Boolean | myToFlipOutput |
Flag to draw result image upside-down. More... | |
unsigned int | myFrameCounter |
redraw counter, for debugging More... | |
Standard_Boolean | myHasFboBlit |
Two framebuffers (left and right views) store cached main presentation of the view (without presentation of immediate layers). More... | |
Standard_Boolean | myTransientDrawToFront |
optimization flag for immediate mode (to render directly to the front buffer) More... | |
Standard_Boolean | myBackBufferRestored |
Two framebuffers (left and right views) store cached main presentation of the view (without presentation of immediate layers). More... | |
Standard_Boolean | myIsImmediateDrawn |
flag indicates that immediate mode buffer contains some data More... | |
Background parameters | |
OpenGl_AspectFace * | myTextureParams |
Stores texture and its parameters for textured background. More... | |
OpenGl_BackgroundArray * | myBgGradientArray |
Primitive array for gradient background. More... | |
OpenGl_BackgroundArray * | myBgTextureArray |
Primitive array for texture background. More... | |
Protected Attributes inherited from Graphic3d_CView | |
Standard_Integer | myId |
Graphic3d_RenderingParams | myRenderParams |
Handle< Graphic3d_StructureManager > | myStructureManager |
Graphic3d_SequenceOfStructure | myStructsToCompute |
Graphic3d_SequenceOfStructure | myStructsComputed |
Graphic3d_MapOfStructure | myStructsDisplayed |
Handle< Graphic3d_NMapOfTransient > | myHiddenObjects |
Standard_Boolean | myIsInComputedMode |
Standard_Boolean | myIsActive |
Standard_Boolean | myIsRemoved |
Graphic3d_TypeOfVisualization | myVisualization |
CachedMinMax | myMinMax |
Rendering of GL graphics (with prepared drawing buffer). | |
typedef std::pair< Standard_Size, Standard_Size > | StateInfo |
main list of displayed structure, sorted by layers More... | |
OpenGl_GraphicDriver * | myDriver |
main list of displayed structure, sorted by layers More... | |
Handle< OpenGl_Window > | myWindow |
main list of displayed structure, sorted by layers More... | |
Handle< OpenGl_Workspace > | myWorkspace |
main list of displayed structure, sorted by layers More... | |
Handle< OpenGl_Caps > | myCaps |
main list of displayed structure, sorted by layers More... | |
Standard_Boolean & | myDeviceLostFlag |
main list of displayed structure, sorted by layers More... | |
Standard_Boolean | myWasRedrawnGL |
main list of displayed structure, sorted by layers More... | |
Standard_Boolean | myAntiAliasing |
main list of displayed structure, sorted by layers More... | |
Standard_Boolean | myCulling |
main list of displayed structure, sorted by layers More... | |
Graphic3d_TypeOfShadingModel | myShadingModel |
main list of displayed structure, sorted by layers More... | |
Graphic3d_TypeOfSurfaceDetail | mySurfaceDetail |
main list of displayed structure, sorted by layers More... | |
Graphic3d_TypeOfBackfacingModel | myBackfacing |
main list of displayed structure, sorted by layers More... | |
TEL_COLOUR | myBgColor |
main list of displayed structure, sorted by layers More... | |
OPENGL_FOG | myFog |
main list of displayed structure, sorted by layers More... | |
OPENGL_ZCLIP | myZClip |
main list of displayed structure, sorted by layers More... | |
Graphic3d_SequenceOfHClipPlane | myClipPlanes |
main list of displayed structure, sorted by layers More... | |
Handle< Graphic3d_Camera > | myCamera |
main list of displayed structure, sorted by layers More... | |
Handle< OpenGl_FrameBuffer > | myFBO |
main list of displayed structure, sorted by layers More... | |
Standard_Boolean | myUseGLLight |
main list of displayed structure, sorted by layers More... | |
Standard_Boolean | myToShowTrihedron |
main list of displayed structure, sorted by layers More... | |
Standard_Boolean | myToShowGradTrihedron |
main list of displayed structure, sorted by layers More... | |
TCollection_AsciiString | myBackgroundImagePath |
main list of displayed structure, sorted by layers More... | |
Handle< Graphic3d_TextureEnv > | myTextureEnvData |
main list of displayed structure, sorted by layers More... | |
Graphic3d_GraduatedTrihedron | myGTrihedronData |
main list of displayed structure, sorted by layers More... | |
OpenGl_ListOfLight | myLights |
main list of displayed structure, sorted by layers More... | |
OpenGl_LayerList | myZLayers |
main list of displayed structure, sorted by layers More... | |
Graphic3d_WorldViewProjState | myWorldViewProjState |
camera modification state More... | |
OpenGl_StateCounter * | myStateCounter |
main list of displayed structure, sorted by layers More... | |
Standard_Size | myCurrLightSourceState |
main list of displayed structure, sorted by layers More... | |
StateInfo | myLastOrientationState |
main list of displayed structure, sorted by layers More... | |
StateInfo | myLastViewMappingState |
main list of displayed structure, sorted by layers More... | |
StateInfo | myLastLightSourceState |
main list of displayed structure, sorted by layers More... | |
OpenGl_BVHTreeSelector | myBVHSelector |
Is needed for selection of overlapping objects and storage of the current view volume. More... | |
OpenGl_Trihedron | myTrihedron |
main list of displayed structure, sorted by layers More... | |
OpenGl_GraduatedTrihedron | myGraduatedTrihedron |
main list of displayed structure, sorted by layers More... | |
Handle< OpenGl_Texture > | myTextureEnv |
main list of displayed structure, sorted by layers More... | |
virtual void | render (Graphic3d_Camera::Projection theProjection, OpenGl_FrameBuffer *theReadDrawFbo, const Standard_Boolean theToDrawImmediate) |
Renders the graphical contents of the view into the preprepared window or framebuffer. More... | |
virtual void | renderScene (Graphic3d_Camera::Projection theProjection, OpenGl_FrameBuffer *theReadDrawFbo, const Standard_Boolean theToDrawImmediate) |
Renders the graphical scene. More... | |
virtual void | drawBackground (const Handle< OpenGl_Workspace > &theWorkspace) |
Draw background (gradient / image) More... | |
virtual void | renderStructs (Graphic3d_Camera::Projection theProjection, OpenGl_FrameBuffer *theReadDrawFbo, const Standard_Boolean theToDrawImmediate) |
Render set of structures presented in the view. More... | |
void | renderTrihedron (const Handle< OpenGl_Workspace > &theWorkspace) |
Renders trihedron. 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_ShaderObject > | myRaytraceShader |
OpenGL/GLSL ray-tracing fragment shader. More... | |
Handle< OpenGl_ShaderObject > | myPostFSAAShader |
OpenGL/GLSL adaptive-AA fragment shader. More... | |
Handle< OpenGl_ShaderProgram > | myRaytraceProgram |
OpenGL/GLSL ray-tracing shader program. More... | |
Handle< OpenGl_ShaderProgram > | myPostFSAAProgram |
OpenGL/GLSL adaptive-AA shader program. More... | |
Handle< OpenGl_ShaderProgram > | myOutImageProgram |
OpenGL/GLSL program for displaying texture. More... | |
Handle< OpenGl_TextureBufferArb > | mySceneNodeInfoTexture |
Texture buffer of data records of bottom-level BVH nodes. More... | |
Handle< OpenGl_TextureBufferArb > | mySceneMinPointTexture |
Texture buffer of minimum points of bottom-level BVH nodes. More... | |
Handle< OpenGl_TextureBufferArb > | mySceneMaxPointTexture |
Texture buffer of maximum points of bottom-level BVH nodes. More... | |
Handle< OpenGl_TextureBufferArb > | mySceneTransformTexture |
Texture buffer of transformations of high-level BVH nodes. More... | |
Handle< OpenGl_TextureBufferArb > | myGeometryVertexTexture |
Texture buffer of vertex coords. More... | |
Handle< OpenGl_TextureBufferArb > | myGeometryNormalTexture |
Texture buffer of vertex normals. More... | |
Handle< OpenGl_TextureBufferArb > | myGeometryTexCrdTexture |
Texture buffer of vertex UV coords. More... | |
Handle< OpenGl_TextureBufferArb > | myGeometryTriangTexture |
Texture buffer of triangle indices. More... | |
Handle< OpenGl_TextureBufferArb > | myRaytraceMaterialTexture |
Texture buffer of material properties. More... | |
Handle< OpenGl_TextureBufferArb > | myRaytraceLightSrcTexture |
Texture buffer of light source properties. More... | |
Handle< OpenGl_FrameBuffer > | myRaytraceFBO1 [2] |
1st framebuffer (FBO) to perform adaptive FSAA. More... | |
Handle< OpenGl_FrameBuffer > | myRaytraceFBO2 [2] |
2nd framebuffer (FBO) to perform adaptive FSAA. More... | |
Handle< OpenGl_FrameBuffer > | myOpenGlFBO |
Framebuffer (FBO) for preliminary OpenGL output. More... | |
Handle< OpenGl_FrameBuffer > | myOpenGlFBO2 |
Result of shaders initialization. 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... | |
std::set< Standard_Integer > | myNonRaytraceStructureIDs |
Set of IDs of non-raytracable elements (to detect updates). More... | |
Handle< OpenGl_RaytraceFilter > | myRaytraceFilter |
Render filter to filter out all raytracable structures. More... | |
Standard_Boolean | myToUpdateEnvironmentMap |
Marks if environment map should be updated. More... | |
Standard_Size | myLayerListState |
State of OpenGL layer list. More... | |
Standard_Integer | myAccumFrames |
Number of accumulated frames (for progressive rendering). More... | |
OpenGl_Vec3 | myPreviousOrigins [3] |
Stored ray origins used for detection of camera movements. More... | |
math_BullardGenerator | myRNG |
Bullard RNG to produce random sequence. More... | |
DEFINE_STANDARD_RTTIEXT (OpenGl_View, Graphic3d_CView) friend class OpenGl_GraphicDriver | |
Result of shaders initialization. More... | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
Implementation of OpenGl view.
|
protected |
main list of displayed structure, sorted by layers
|
protected |
|
protected |
|
protected |
Defines texture samplers.
|
protected |
Defines frequently used shader variables.
OpenGl_View::OpenGl_View | ( | const Handle< Graphic3d_StructureManager > & | theMgr, |
const Handle< OpenGl_GraphicDriver > & | theDriver, | ||
const Handle< OpenGl_Caps > & | theCaps, | ||
Standard_Boolean & | theDeviceLostFlag, | ||
OpenGl_StateCounter * | theCounter | ||
) |
Constructor.
|
virtual |
Default destructor.
|
protected |
Adds OpenGL groups to ray-traced scene geometry.
|
protected |
Adds OpenGL polygon array to ray-traced scene geometry.
|
protected |
Adds OpenGL primitive array to ray-traced scene geometry.
|
protected |
Adds OpenGL quadrangle array to ray-traced scene geometry.
|
protected |
Adds OpenGL quadrangle strip array to ray-traced scene geometry.
|
protected |
Adds OpenGL structure to ray-traced scene geometry.
|
protected |
Adds OpenGL triangle array to ray-traced scene geometry.
|
protected |
Adds OpenGL triangle fan array to ray-traced scene geometry.
|
protected |
Adds OpenGL triangle strip array to ray-traced scene geometry.
|
protected |
Adds vertex indices from OpenGL primitive array to ray-traced scene geometry.
|
overridevirtual |
Insert a new top-level z layer with the given ID.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Return backfacing model used for the view.
Implements Graphic3d_CView.
|
overridevirtual |
Returns background fill color.
Implements Graphic3d_CView.
|
inline |
Returns background color.
|
inlineoverridevirtual |
Returns background image texture file path.
Implements Graphic3d_CView.
|
overridevirtual |
Returns background image fill style.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns the activity of back z-clipping plane.
Implements Graphic3d_CView.
|
protected |
Setup default FBO.
|
protected |
Binds ray-trace textures to corresponding texture units.
|
protected |
Blit image from/to specified buffers.
|
overridevirtual |
Dump active rendering buffer into specified memory buffer.
Implements Graphic3d_CView.
|
inline |
Returns selector for BVH tree, providing a possibility to store information about current view volume and to detect which objects are overlapping it.
|
inlineoverridevirtual |
Returns camera object of the view.
Implements Graphic3d_CView.
|
inline |
Change graduated trihedron.
|
inline |
Change trihedron.
|
inlineoverridevirtual |
Returns list of clip planes set for the view.
Implements Graphic3d_CView.
|
protected |
Creates ray-tracing material properties.
OpenGl_View::DEFINE_STANDARD_RTTIEXT | ( | OpenGl_View | , |
Graphic3d_CView | |||
) |
Result of shaders initialization.
|
inlineoverridevirtual |
Returns the back depth cueing plane.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns the front depth cueing plane.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns the activity of depth cueing.
Implements Graphic3d_CView.
|
protectedvirtual |
Draw background (gradient / image)
|
overridevirtual |
Export scene into the one of the Vector graphics formats (SVG, PS, PDF...). In contrast to Bitmaps, Vector graphics is scalable (so you may got quality benefits on printing to laser printer). Notice however that results may differ a lot and do not contain some elements.
Implements Graphic3d_CView.
|
overridevirtual |
Returns pointer to an assigned framebuffer object.
Implements Graphic3d_CView.
|
overridevirtual |
Change offscreen FBO viewport.
Implements Graphic3d_CView.
|
overridevirtual |
Generate offscreen FBO in the graphic library. If not supported on hardware returns NULL.
Implements Graphic3d_CView.
|
overridevirtual |
Read offscreen FBO configuration.
Implements Graphic3d_CView.
|
overridevirtual |
Remove offscreen FBO from the graphic library.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns the activity of front z-clipping plane.
Implements Graphic3d_CView.
|
protected |
Generates shader prefix based on current ray-tracing options.
|
inlineoverridevirtual |
Returns data of a graduated trihedron.
Implements Graphic3d_CView.
|
inline |
Returns OpenGL environment map.
|
inline |
Returns OpenGL window implementation.
|
overridevirtual |
Returns gradient background fill colors.
Implements Graphic3d_CView.
|
overridevirtual |
Displays Graduated Trihedron.
Implements Graphic3d_CView.
|
overridevirtual |
Erases Graduated Trihedron.
Implements Graphic3d_CView.
|
overridevirtual |
Sets minimum and maximum points of scene bounding box for Graduated Trihedron stored in graphic view object.
theMin | [in] the minimum point of scene. |
theMax | [in] the maximum point of scene. |
Implements Graphic3d_CView.
|
inline |
Returns true if there are immediate structures to display.
|
inline |
Returns height of view volume.
|
protected |
Creates shader program from the given vertex and fragment shaders.
|
protected |
Initializes OpenGL/GLSL shader programs.
|
protected |
Loads and compiles shader object from specified source.
|
protected |
Initializes OpenGl resource for environment texture.
|
overridevirtual |
Marks BVH tree for given priority list as dirty and marks primitive set for rebuild.
Implements Graphic3d_CView.
|
overridevirtual |
Marks BVH tree and the set of BVH primitives of correspondent priority list with id theLayerId as outdated.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns true if anti-aliasing is enabled for the view.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns the state of frustum culling optimization.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns True if the window associated to the view is defined.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns true if GL lighting is enabled.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Return true if view content cache has been invalidated.
Implements Graphic3d_CView.
|
inline |
Returns list of OpenGL Z-layers.
|
inline |
Returns list of openGL light sources.
|
inlineoverridevirtual |
Returns list of lights of the view.
Implements Graphic3d_CView.
|
overridevirtual |
Print the contents of the view to the printer.
thePrinterDC | pass the PrinterDeviceContext (HDC) |
theToShowBackground | when set to FALSE then print the view without background color (background is white) else set to TRUE for printing with current background color |
theFileName | if != NULL, then the view will be printed to a file |
thePrintAlgorithm | select print algorithm: stretch, tile |
theScaleFactor | scaling coefficient, used internally to scale the printings accordingly to the scale factor selected in the printer properties dialog |
Implements Graphic3d_CView.
|
protected |
Redraws the window using OpenGL/GLSL ray-tracing.
|
overridevirtual |
|
protectedvirtual |
Redraws view for the given monographic camera projection, or left/right eye.
|
overridevirtual |
|
protectedvirtual |
Redraws view for the given monographic camera projection, or left/right eye.
Method will blit snapshot containing main scene (myMainSceneFbos or BackBuffer) into presentation buffer (myMainSceneFbos -> offscreen FBO or myMainSceneFbos -> BackBuffer or BackBuffer -> FrontBuffer), and redraw immediate structures on top.
When scene caching is disabled (myTransientDrawToFront, no double buffer in window, etc.), the first step (blitting) will be skipped.
void OpenGl_View::ReleaseGlResources | ( | const Handle< OpenGl_Context > & | theCtx | ) |
|
protected |
Releases OpenGL/GLSL shader programs.
|
overridevirtual |
Deletes and erases the view.
Reimplemented from Graphic3d_CView.
|
overridevirtual |
Remove a z layer with the given ID.
Implements Graphic3d_CView.
|
protectedvirtual |
Renders the graphical contents of the view into the preprepared window or framebuffer.
theProjection | [in] the projection that should be used for rendering. |
theReadDrawFbo | [in] the framebuffer for rendering graphics. |
theToDrawImmediate | [in] the flag indicates whether the rendering performs in immediate mode. |
|
protectedvirtual |
Renders the graphical scene.
theProjection | [in] the projection that is used for rendering. |
theReadDrawFbo | [in] the framebuffer for rendering graphics. |
theToDrawImmediate | [in] the flag indicates whether the rendering performs in immediate mode. |
|
protectedvirtual |
Render set of structures presented in the view.
theProjection | [in] the projection that is used for rendering. |
theReadDrawFbo | [in] the framebuffer for rendering graphics. |
theToDrawImmediate | [in] the flag indicates whether the rendering performs in immediate mode. |
|
protected |
Renders trihedron.
|
overridevirtual |
Handle changing size of the rendering window.
Implements Graphic3d_CView.
Reimplemented in D3DHost_View.
|
protected |
Runs ray-tracing shader programs.
|
protected |
Performs safe exit when shaders initialization fails.
|
inlineoverridevirtual |
Enable or disable anti-aliasing in the view.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Sets backfacing model for the view.
Implements Graphic3d_CView.
|
overridevirtual |
Sets background fill color.
Implements Graphic3d_CView.
void OpenGl_View::SetBackgroundGradient | ( | const Quantity_Color & | AColor1, |
const Quantity_Color & | AColor2, | ||
const Aspect_GradientFillMethod | AType | ||
) |
void OpenGl_View::SetBackgroundGradientType | ( | const Aspect_GradientFillMethod | AType | ) |
|
overridevirtual |
Sets background image texture file path.
Implements Graphic3d_CView.
|
overridevirtual |
Sets background image fill style.
Implements Graphic3d_CView.
void OpenGl_View::SetBackgroundTextureStyle | ( | const Aspect_FillMethod | FillStyle | ) |
|
inlineoverridevirtual |
Activates the back Z-clipping plane.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Sets camera used by the view.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Sets list of clip planes for the view.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Enables or disables frustum culling optimization.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Set the back depth cueing plane.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Set the front depth cueing plane.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Sets the activity of depth cueing.
Implements Graphic3d_CView.
|
overridevirtual |
Sets framebuffer object for offscreen rendering.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Activates the front Z-clipping plane.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Sets GL lighting enabled or disable state.
Implements Graphic3d_CView.
|
overridevirtual |
Sets gradient background fill colors.
Implements Graphic3d_CView.
|
overridevirtual |
theDrawToFrontBuffer | Advanced option to modify rendering mode:
|
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Sets list of lights for the view.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Sets shading model of the view.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Sets surface detail type of the view.
Implements Graphic3d_CView.
|
overridevirtual |
Sets environment texture for the view.
Implements Graphic3d_CView.
void OpenGl_View::SetTextureEnv | ( | const Handle< OpenGl_Context > & | theCtx, |
const Handle< Graphic3d_TextureEnv > & | theTexture | ||
) |
|
protected |
Sets uniform state for the given ray-tracing shader program.
|
overridevirtual |
Creates and maps rendering window to the view.
theWindow | [in] the window. |
theContext | [in] the rendering context. If NULL the context will be created internally. |
Implements Graphic3d_CView.
Reimplemented in D3DHost_View.
|
inlineoverridevirtual |
Sets the definition of the back Z-clipping plane.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Sets the definition of the front Z-clipping plane.
Implements Graphic3d_CView.
|
overridevirtual |
Sets the settings for a single Z layer of specified view.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns shading model of the view.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns surface detail type of the view.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns environment texture set for the view.
Implements Graphic3d_CView.
|
protected |
Checks to see if the OpenGL structure is modified.
|
overridevirtual |
Displays z-buffer trihedron.
Implements Graphic3d_CView.
|
overridevirtual |
Displays trihedron echo.
Implements Graphic3d_CView.
|
overridevirtual |
Erases z-buffer trihedron.
Implements Graphic3d_CView.
|
protected |
Unbinds ray-trace textures from corresponding texture unit.
|
protected |
Generates viewing rays for corners of screen quad.
|
protected |
Updates auxiliary OpenGL frame buffers.
|
protected |
Updates environment map for ray-tracing.
|
protected |
Updates 3D scene geometry for ray-tracing.
|
protected |
Updates 3D scene light sources for ray-tracing.
|
protected |
Uploads ray-trace data to the GPU.
|
inline |
Returns width of view volume.
|
inlineoverridevirtual |
Returns window associated with the view.
Implements Graphic3d_CView.
|
overridevirtual |
Setup parameters of z-buffer trihedron.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns the definition of the back Z-clipping plane.
Implements Graphic3d_CView.
|
inlineoverridevirtual |
Returns the definition of the front Z-clipping plane.
Implements Graphic3d_CView.
|
protected |
Number of accumulated frames (for progressive rendering).
|
protected |
main list of displayed structure, sorted by layers
|
protected |
PrimitiveArray to TriangleSet map for scene partial update.
|
protected |
Two framebuffers (left and right views) store cached main presentation of the view (without presentation of immediate layers).
sized format for color attachments
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
Primitive array for gradient background.
|
protected |
Primitive array for texture background.
|
protected |
Is needed for selection of overlapping objects and storage of the current view volume.
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
Two framebuffers (left and right views) store cached main presentation of the view (without presentation of immediate layers).
sized format for color attachments
|
protected |
sized format for depth-stencil attachments
|
protected |
main list of displayed structure, sorted by layers
|
protected |
redraw counter, for debugging
|
protected |
Vertices for full-screen quad rendering.
|
protected |
Two framebuffers (left and right views) store cached main presentation of the view (without presentation of immediate layers).
sized format for color attachments
|
protected |
Texture buffer of vertex normals.
|
protected |
Texture buffer of vertex UV coords.
|
protected |
Texture buffer of triangle indices.
|
protected |
Texture buffer of vertex coords.
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
Two framebuffers (left and right views) store cached main presentation of the view (without presentation of immediate layers).
sized format for color attachments
|
protected |
Additional buffers for immediate layer in stereo mode.
|
protected |
flag indicates that immediate mode buffer contains some data
|
protected |
Is geometry data valid?
|
protected |
Warning about missing extension GL_ARB_bindless_texture has been displayed?
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
State of OpenGL layer list.
|
protected |
main list of displayed structure, sorted by layers
|
protected |
Two framebuffers (left and right views) store cached main presentation of the view (without presentation of immediate layers).
sized format for color attachments
|
protected |
Set of IDs of non-raytracable elements (to detect updates).
|
protected |
Framebuffer (FBO) for preliminary OpenGL output.
|
protected |
Result of shaders initialization.
|
protected |
OpenGL/GLSL program for displaying texture.
|
protected |
OpenGL/GLSL adaptive-AA shader program.
|
protected |
OpenGL/GLSL adaptive-AA fragment shader.
|
protected |
OpenGL/GLSL source of adaptive-AA fragment shader.
|
protected |
Stored ray origins used for detection of camera movements.
|
protected |
1st framebuffer (FBO) to perform adaptive FSAA.
|
protected |
2nd framebuffer (FBO) to perform adaptive FSAA.
|
protected |
Render filter to filter out all raytracable structures.
|
protected |
3D scene geometry data for ray-tracing.
|
protected |
Result of shaders initialization.
|
protected |
Texture buffer of light source properties.
|
protected |
Texture buffer of material properties.
|
protected |
Compile-time ray-tracing parameters.
|
protected |
OpenGL/GLSL ray-tracing shader program.
|
protected |
Scene epsilon to prevent self-intersections.
|
protected |
Radius of bounding sphere of the scene.
|
protected |
Vertex buffer (VBO) for drawing dummy quad.
|
protected |
OpenGL/GLSL ray-tracing fragment shader.
|
protected |
OpenGL/GLSL source of ray-tracing fragment shader.
|
protected |
Bullard RNG to produce random sequence.
|
protected |
Texture buffer of maximum points of bottom-level BVH nodes.
|
protected |
Texture buffer of minimum points of bottom-level BVH nodes.
|
protected |
Texture buffer of data records of bottom-level BVH nodes.
|
protected |
Texture buffer of transformations of high-level BVH nodes.
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
State of OpenGL structures reflected to ray-tracing.
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
Stores texture and its parameters for textured background.
|
protected |
Flag to draw result image upside-down.
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
Marks if environment map should be updated.
|
protected |
optimization flag for immediate mode (to render directly to the front buffer)
|
protected |
main list of displayed structure, sorted by layers
|
protected |
Cached locations of frequently used uniform variables.
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
protected |
camera modification state
|
protected |
main list of displayed structure, sorted by layers
|
protected |
main list of displayed structure, sorted by layers
|
staticprotected |
Default ray-tracing depth.
|
staticprotected |
Default size of traversal stack.