1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0024192: Adding support for shaders to OCCT visualization toolkit

This commit is contained in:
apl
2013-10-21 11:47:10 +04:00
committed by abv
parent 30bf45dc70
commit 30f0ad2866
66 changed files with 6117 additions and 404 deletions

View File

@@ -25,6 +25,7 @@
#include <Aspect_Display.hxx>
#include <Aspect_RenderingContext.hxx>
#include <Handle_OpenGl_Context.hxx>
#include <Handle_OpenGl_ShaderManager.hxx>
#include <NCollection_DataMap.hxx>
#include <NCollection_Map.hxx>
#include <NCollection_Handle.hxx>
@@ -35,7 +36,7 @@
#include <Standard_Transient.hxx>
#include <TCollection_AsciiString.hxx>
#include <Handle_OpenGl_Context.hxx>
#include <OpenGl_ClippingState.hxx>
#include <OpenGl_Clipping.hxx>
//! Forward declarations
struct OpenGl_GlCore12;
@@ -248,10 +249,13 @@ public:
Standard_EXPORT void ReleaseDelayed();
//! @return tool for management of clippings within this context.
inline OpenGl_ClippingState& ChangeClipping() { return myClippingState; }
inline OpenGl_Clipping& ChangeClipping() { return myClippingState; }
//! @return tool for management of clippings within this context.
inline const OpenGl_ClippingState& Clipping() const { return myClippingState; }
inline const OpenGl_Clipping& Clipping() const { return myClippingState; }
//! @return tool for management of shader programs within this context.
inline const Handle(OpenGl_ShaderManager)& ShaderManager() const { return myShaderManager; }
public:
@@ -350,7 +354,7 @@ private: // context info
Handle(OpenGl_DelayReleaseMap) myDelayed; //!< shared resources for delayed release
Handle(OpenGl_ResourcesQueue) myReleaseQueue; //!< queue of resources for delayed clean up
OpenGl_ClippingState myClippingState; //!< state of clip planes
OpenGl_Clipping myClippingState; //!< state of clip planes
void* myGlLibHandle; //!< optional handle to GL library
OpenGl_GlCore20* myGlCore20; //!< common structure for GL core functions upto 2.0
@@ -362,6 +366,8 @@ private: // context info
Standard_Boolean myIsFeedback; //!< flag indicates GL_FEEDBACK mode
Standard_Boolean myIsInitialized; //!< flag indicates initialization state
Handle(OpenGl_ShaderManager) myShaderManager; //! support object for managing shader programs
private:
//! Copying allowed only within Handles