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:
kgv
2014-10-02 13:46:27 +04:00
committed by bugmaster
parent 25b97fac40
commit 8625ef7e94
40 changed files with 1261 additions and 445 deletions

View File

@@ -28,7 +28,7 @@ set aCustom3 [locate_data_file images/marker_dot.png]
# draw box in advance which should fit all our markers
box b -8 -8 0 16 16 2
vcaps sprites=1
vcaps -sprites
set aV "Driver1/Viewer1/View1"
vinit name=$aV l=32 t=32 w=512 h=512
vactivate $aV

View File

@@ -32,7 +32,7 @@ puts "hI"
for { set aMode 0 } { $aMode <= 1 } { incr aMode } {
set aTitle "bitmaps"
if { $aMode == 1 } { set aTitle "sprites" }
vcaps sprites=$aMode
vcaps -sprites $aMode
set aV "Driver${aMode}/Viewer1/View1"
vinit name=$aV l=32 t=32 w=512 h=512
vactivate $aV

View File

@@ -7,7 +7,7 @@ puts ""
# Test image dumping with software accelerated GL context
############################################################
vcaps soft=1
vcaps -softMode
vinit View1
box b 1 2 3