mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0025282: Visualization, OpenGl_PrimitiveArray - provide built-in GLSL programs as alternative to FFP
Enumerations Visual3d_TypeOfModel, V3d_TypeOfShadingModel. - Remove unused values V3d_MULTICOLOR, V3d_HIDDEN, Visual3d_TOM_INTERP_COLOR. - Add per-pixel shading mode - V3d_PHONG, Visual3d_TOM_FRAGMENT. Draw Harness command vrenderparams. Add option -shadingModel to setup Shading Model. OpenGl_Caps::ffpEnable - new option to switch FFP/built-in GLSL programs. OpenGl_ShaderManager - add built-in GLSL programs. Draw Harness command vcaps. - Fix command syntax to meet coding rules. - Add option -ffp to activate/disable built-in GLSL programs. GLSL API changes. - Rename vertex attribute occColor -> occVertColor. - Introduce vec4 occColor uniform variable for light-less shaders. - Introduce float occPointSize uniform variable for marker programs. OpenGl_VertexBuffer::bindAttribute() - activate normalization for non-GL_FLOAT types, since color attribute is defined as 32-bit vector of 4 unsigned byte values. OpenGl_Context - add methods SetColor4fv() and SetPointSize() for parameters redirection to active GLSL program (as alternative to glColor4fv() and glPointSize()). OpenGl_ShaderProgram - define default precision for float types in Fragment Shader within OpenGL ES 2.0+ context. OpenGl_AspectMarker, initialize Aspect_TOM_O_POINT display list in the same way as sprite texture. OpenGl_Texture, do not use sized internal formats on OpenGL ES.
This commit is contained in:
@@ -19,14 +19,11 @@
|
||||
#define THE_MAX_CLIP_PLANES 8
|
||||
|
||||
// Vertex attributes
|
||||
// Note: At the moment, we just 'rename' the default OpenGL
|
||||
// vertex attributes from compatibility profile. In the next
|
||||
// release old functionality will be removed from shader API.
|
||||
#ifdef VERTEX_SHADER
|
||||
attribute vec4 occVertex;
|
||||
attribute vec3 occNormal;
|
||||
attribute vec4 occTexCoord;
|
||||
attribute vec4 occColor;
|
||||
attribute vec4 occVertColor;
|
||||
#endif
|
||||
|
||||
// Matrix state
|
||||
@@ -73,7 +70,7 @@ vec4 occFrontMaterial_Specular(void); //!< Specular reflection
|
||||
float occFrontMaterial_Shininess(void); //!< Specular exponent
|
||||
float occFrontMaterial_Transparency(void); //!< Transparency coefficient
|
||||
|
||||
// Front material properties accessors
|
||||
// Back material properties accessors
|
||||
vec4 occBackMaterial_Emission(void); //!< Emission color
|
||||
vec4 occBackMaterial_Ambient(void); //!< Ambient reflection
|
||||
vec4 occBackMaterial_Diffuse(void); //!< Diffuse reflection
|
||||
@@ -81,9 +78,11 @@ vec4 occBackMaterial_Specular(void); //!< Specular reflection
|
||||
float occBackMaterial_Shininess(void); //!< Specular exponent
|
||||
float occBackMaterial_Transparency(void); //!< Transparency coefficient
|
||||
|
||||
uniform vec4 occColor; //!< color value (in case of disabled lighting)
|
||||
uniform int occDistinguishingMode; //!< Are front and back faces distinguished?
|
||||
uniform int occTextureEnable; //!< Is texture enabled?
|
||||
uniform sampler2D occActiveSampler; //!< Current active sampler
|
||||
uniform float occPointSize; //!< point size
|
||||
|
||||
// clipping planes state
|
||||
const int OccEquationCoords_View = 0; //!< view-space clipping plane
|
||||
|
Reference in New Issue
Block a user