Open CASCADE Technology  6.9.0
Data Structures | Namespaces | Typedefs | Enumerations | Functions | Variables

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 <InterfaceGraphic_tgl_all.hxx>
#include <OpenGl_Vec.hxx>
#include <OpenGl_Matrix.hxx>
#include <OpenGl_ShaderObject.hxx>
#include <Handle_OpenGl_ShaderProgram.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_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_SPACES, 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_ACTIVE_SAMPLER,
  OpenGl_OCCT_TEXTURE_ENABLE, OpenGl_OCCT_DISTINGUISH_MODE, OpenGl_OCCT_FRONT_MATERIAL, OpenGl_OCCT_BACK_MATERIAL,
  OpenGl_OCCT_COLOR, OpenGl_OCCT_POINT_SIZE, 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_MATERIALS_STATE, OpenGl_SURF_DETAIL_STATE
}
 Defines types of uniform state variables. More...
 

Functions

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

Variables

const int MaxStateTypes = 6
 Total number of state types. More...
 

Typedef Documentation

List of shader variable setters.

List of OpenGL shader objects.

Enumeration Type Documentation

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_SPACES 
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_ACTIVE_SAMPLER 
OpenGl_OCCT_TEXTURE_ENABLE 
OpenGl_OCCT_DISTINGUISH_MODE 
OpenGl_OCCT_FRONT_MATERIAL 
OpenGl_OCCT_BACK_MATERIAL 
OpenGl_OCCT_COLOR 
OpenGl_OCCT_POINT_SIZE 
OpenGl_OCCT_NUMBER_OF_STATE_VARIABLES 

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_MATERIALS_STATE 
OpenGl_SURF_DETAIL_STATE 

Variable Documentation

const int MaxStateTypes = 6

Total number of state types.