Open CASCADE Technology  7.5.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_ShaderObject.hxx>
#include <Graphic3d_ShaderProgram.hxx>
#include <Graphic3d_TextureSetBits.hxx>
#include <OpenGl_Vec.hxx>
#include <OpenGl_Matrix.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_OCCT_TEXTURE_ENABLE,
  OpenGl_OCCT_DISTINGUISH_MODE, OpenGl_OCCT_PBR_FRONT_MATERIAL, OpenGl_OCCT_PBR_BACK_MATERIAL, OpenGl_OCCT_COMMON_FRONT_MATERIAL,
  OpenGl_OCCT_COMMON_BACK_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_OCCT_TEXTURE_ENABLE 
OpenGl_OCCT_DISTINGUISH_MODE 
OpenGl_OCCT_PBR_FRONT_MATERIAL 
OpenGl_OCCT_PBR_BACK_MATERIAL 
OpenGl_OCCT_COMMON_FRONT_MATERIAL 
OpenGl_OCCT_COMMON_BACK_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