Open CASCADE Technology  7.7.0
Data Structures | Namespaces | Typedefs | Enumerations | Functions

OpenGl_ShaderProgram.hxx File Reference

#include <NCollection_DataMap.hxx>
#include <NCollection_Sequence.hxx>
#include <TCollection_AsciiString.hxx>
#include <Graphic3d_ShaderProgram.hxx>
#include <Graphic3d_TextureSetBits.hxx>
#include <OpenGl_Vec.hxx>
#include <OpenGl_NamedResource.hxx>
#include <OpenGl_ShaderObject.hxx>

Data Structures

struct  OpenGl_SetterInterface
 Interface for generic setter of user-defined uniform variables. More...
 
class  OpenGl_VariableSetterSelector
 Support tool for setting user-defined uniform variables. More...
 
class  OpenGl_ShaderUniformLocation
 Simple class represents GLSL program variable location. More...
 
class  OpenGl_ShaderProgram
 Wrapper for OpenGL program object. More...
 
struct  OpenGl_VariableSetter< T >
 
struct  OpenGl_HashMapInitializer::MapListOfType< K, V >
 

Namespaces

 OpenGl_HashMapInitializer
 

Typedefs

typedef NCollection_Sequence< Handle< OpenGl_ShaderObject > > OpenGl_ShaderList
 List of OpenGL shader objects. More...
 
typedef NCollection_DataMap< size_t, OpenGl_SetterInterface * > OpenGl_SetterList
 List of shader variable setters. More...
 

Enumerations

enum  OpenGl_StateVariable {
  OpenGl_OCC_MODEL_WORLD_MATRIX , OpenGl_OCC_WORLD_VIEW_MATRIX , OpenGl_OCC_PROJECTION_MATRIX , OpenGl_OCC_MODEL_WORLD_MATRIX_INVERSE ,
  OpenGl_OCC_WORLD_VIEW_MATRIX_INVERSE , OpenGl_OCC_PROJECTION_MATRIX_INVERSE , OpenGl_OCC_MODEL_WORLD_MATRIX_TRANSPOSE , OpenGl_OCC_WORLD_VIEW_MATRIX_TRANSPOSE ,
  OpenGl_OCC_PROJECTION_MATRIX_TRANSPOSE , OpenGl_OCC_MODEL_WORLD_MATRIX_INVERSE_TRANSPOSE , OpenGl_OCC_WORLD_VIEW_MATRIX_INVERSE_TRANSPOSE , OpenGl_OCC_PROJECTION_MATRIX_INVERSE_TRANSPOSE ,
  OpenGl_OCC_CLIP_PLANE_EQUATIONS , OpenGl_OCC_CLIP_PLANE_CHAINS , OpenGl_OCC_CLIP_PLANE_COUNT , OpenGl_OCC_LIGHT_SOURCE_COUNT ,
  OpenGl_OCC_LIGHT_SOURCE_TYPES , OpenGl_OCC_LIGHT_SOURCE_PARAMS , OpenGl_OCC_LIGHT_AMBIENT , OpenGl_OCC_LIGHT_SHADOWMAP_SIZE_BIAS ,
  OpenGl_OCC_LIGHT_SHADOWMAP_SAMPLERS , OpenGl_OCC_LIGHT_SHADOWMAP_MATRICES , OpenGl_OCCT_TEXTURE_ENABLE , OpenGl_OCCT_DISTINGUISH_MODE ,
  OpenGl_OCCT_PBR_MATERIAL , OpenGl_OCCT_COMMON_MATERIAL , OpenGl_OCCT_ALPHA_CUTOFF , OpenGl_OCCT_COLOR ,
  OpenGl_OCCT_OIT_OUTPUT , OpenGl_OCCT_OIT_DEPTH_FACTOR , OpenGl_OCCT_TEXTURE_TRSF2D , OpenGl_OCCT_POINT_SIZE ,
  OpenGl_OCCT_VIEWPORT , OpenGl_OCCT_LINE_WIDTH , OpenGl_OCCT_LINE_FEATHER , OpenGl_OCCT_LINE_STIPPLE_PATTERN ,
  OpenGl_OCCT_LINE_STIPPLE_FACTOR , OpenGl_OCCT_WIREFRAME_COLOR , OpenGl_OCCT_QUAD_MODE_STATE , OpenGl_OCCT_ORTHO_SCALE ,
  OpenGl_OCCT_SILHOUETTE_THICKNESS , OpenGl_OCCT_NB_SPEC_IBL_LEVELS , OpenGl_OCCT_NUMBER_OF_STATE_VARIABLES
}
 The enumeration of OCCT-specific OpenGL/GLSL variables. More...
 
enum  OpenGl_UniformStateType {
  OpenGl_LIGHT_SOURCES_STATE , OpenGl_CLIP_PLANES_STATE , OpenGl_MODEL_WORLD_STATE , OpenGl_WORLD_VIEW_STATE ,
  OpenGl_PROJECTION_STATE , OpenGl_MATERIAL_STATE , OpenGl_SURF_DETAIL_STATE , OpenGL_OIT_STATE ,
  OpenGl_UniformStateType_NB
}
 Defines types of uniform state variables. More...
 

Functions

template<class K , class V >
MapListOfType< K, V > OpenGl_HashMapInitializer::CreateListOf (K theKey, V theValue)
 

Typedef Documentation

◆ OpenGl_SetterList

List of shader variable setters.

◆ OpenGl_ShaderList

List of OpenGL shader objects.

Enumeration Type Documentation

◆ OpenGl_StateVariable

The enumeration of OCCT-specific OpenGL/GLSL variables.

Enumerator
OpenGl_OCC_MODEL_WORLD_MATRIX 
OpenGl_OCC_WORLD_VIEW_MATRIX 
OpenGl_OCC_PROJECTION_MATRIX 
OpenGl_OCC_MODEL_WORLD_MATRIX_INVERSE 
OpenGl_OCC_WORLD_VIEW_MATRIX_INVERSE 
OpenGl_OCC_PROJECTION_MATRIX_INVERSE 
OpenGl_OCC_MODEL_WORLD_MATRIX_TRANSPOSE 
OpenGl_OCC_WORLD_VIEW_MATRIX_TRANSPOSE 
OpenGl_OCC_PROJECTION_MATRIX_TRANSPOSE 
OpenGl_OCC_MODEL_WORLD_MATRIX_INVERSE_TRANSPOSE 
OpenGl_OCC_WORLD_VIEW_MATRIX_INVERSE_TRANSPOSE 
OpenGl_OCC_PROJECTION_MATRIX_INVERSE_TRANSPOSE 
OpenGl_OCC_CLIP_PLANE_EQUATIONS 
OpenGl_OCC_CLIP_PLANE_CHAINS 
OpenGl_OCC_CLIP_PLANE_COUNT 
OpenGl_OCC_LIGHT_SOURCE_COUNT 
OpenGl_OCC_LIGHT_SOURCE_TYPES 
OpenGl_OCC_LIGHT_SOURCE_PARAMS 
OpenGl_OCC_LIGHT_AMBIENT 
OpenGl_OCC_LIGHT_SHADOWMAP_SIZE_BIAS 
OpenGl_OCC_LIGHT_SHADOWMAP_SAMPLERS 
OpenGl_OCC_LIGHT_SHADOWMAP_MATRICES 
OpenGl_OCCT_TEXTURE_ENABLE 
OpenGl_OCCT_DISTINGUISH_MODE 
OpenGl_OCCT_PBR_MATERIAL 
OpenGl_OCCT_COMMON_MATERIAL 
OpenGl_OCCT_ALPHA_CUTOFF 
OpenGl_OCCT_COLOR 
OpenGl_OCCT_OIT_OUTPUT 
OpenGl_OCCT_OIT_DEPTH_FACTOR 
OpenGl_OCCT_TEXTURE_TRSF2D 
OpenGl_OCCT_POINT_SIZE 
OpenGl_OCCT_VIEWPORT 
OpenGl_OCCT_LINE_WIDTH 
OpenGl_OCCT_LINE_FEATHER 
OpenGl_OCCT_LINE_STIPPLE_PATTERN 
OpenGl_OCCT_LINE_STIPPLE_FACTOR 
OpenGl_OCCT_WIREFRAME_COLOR 
OpenGl_OCCT_QUAD_MODE_STATE 
OpenGl_OCCT_ORTHO_SCALE 
OpenGl_OCCT_SILHOUETTE_THICKNESS 
OpenGl_OCCT_NB_SPEC_IBL_LEVELS 
OpenGl_OCCT_NUMBER_OF_STATE_VARIABLES 

◆ OpenGl_UniformStateType

Defines types of uniform state variables.

Enumerator
OpenGl_LIGHT_SOURCES_STATE 
OpenGl_CLIP_PLANES_STATE 
OpenGl_MODEL_WORLD_STATE 
OpenGl_WORLD_VIEW_STATE 
OpenGl_PROJECTION_STATE 
OpenGl_MATERIAL_STATE 
OpenGl_SURF_DETAIL_STATE 
OpenGL_OIT_STATE 
OpenGl_UniformStateType_NB