#include <OpenGl_Vec.hxx>
#include <OpenGl_Matrix.hxx>
#include <OpenGl_ShaderObject.hxx>
-#include <Handle_OpenGl_ShaderProgram.hxx>
+
+class OpenGl_ShaderProgram;
+DEFINE_STANDARD_HANDLE(OpenGl_ShaderProgram, OpenGl_Resource)
//! The enumeration of OCCT-specific OpenGL/GLSL variables.
enum OpenGl_StateVariable
OpenGl_OCCT_BACK_MATERIAL,
OpenGl_OCCT_COLOR,
+ OpenGl_OCCT_TEXTURE_TRSF2D,
OpenGl_OCCT_POINT_SIZE,
// DON'T MODIFY THIS ITEM (insert new items before it)
public:
- //! Specifies the value of the 64-bit unsigned integer uniform variable.
+ //! Specifies the value of the unsigned integer uniform 2D vector (uvec2).
Standard_EXPORT Standard_Boolean SetUniform (const Handle(OpenGl_Context)& theCtx,
const GLchar* theName,
- GLuint64 theValue);
+ const OpenGl_Vec2u& theValue);
- //! Specifies the value of the 64-bit unsigned integer uniform variable.
+ //! Specifies the value of the unsigned integer uniform 2D vector (uvec2).
Standard_EXPORT Standard_Boolean SetUniform (const Handle(OpenGl_Context)& theCtx,
GLint theLocation,
- GLuint64 theValue);
+ const OpenGl_Vec2u& theValue);
- //! Specifies the value of the 64-bit unsigned integer uniform array.
+ //! Specifies the value of the uvec2 uniform array
Standard_EXPORT Standard_Boolean SetUniform (const Handle(OpenGl_Context)& theCtx,
const GLchar* theName,
const GLsizei theCount,
- const GLuint64* theValue);
+ const OpenGl_Vec2u* theValue);
- //! Specifies the value of the 64-bit unsigned integer uniform array.
+ //! Specifies the value of the uvec2 uniform array
Standard_EXPORT Standard_Boolean SetUniform (const Handle(OpenGl_Context)& theCtx,
GLint theLocation,
const GLsizei theCount,
- const GLuint64* theValue);
+ const OpenGl_Vec2u* theValue);
public:
public:
- DEFINE_STANDARD_RTTI (OpenGl_ShaderProgram)
+ DEFINE_STANDARD_RTTI (OpenGl_ShaderProgram, OpenGl_Resource)
friend class OpenGl_ShaderManager;
};