0026969: Visualization - support custom vertex attributes in GLSL program
authorkgv <kgv@opencascade.com>
Sat, 20 Feb 2016 10:10:41 +0000 (13:10 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 3 Mar 2016 11:17:06 +0000 (14:17 +0300)
commit4a535d3fd697447c30499b7959a73e1a515365c0
treef46798829b84713d08ffb28afd891420532db965
parent9d55d9b0be7b38b9da86fac6f3b236bb8f1951de
0026969: Visualization - support custom vertex attributes in GLSL program

Graphic3d_TypeOfData - added Graphic3d_TOD_FLOAT for passing single-float vertex attributes.
Graphic3d_TOA_CUSTOM - changed value to increase the range for custom vertex attributes locations (to fit into hardware limits).
Graphic3d_ShaderProgram::SetVertexAttributes() - introduced API for defining custom vertex attributes.

For compatibility with automated wrappers:
- Graphic3d_Buffer::Init() - added prototype taking NCollection_Array1<Graphic3d_Attribute> instead of C array
- Graphic3d_IndexBuffer::InitInt32() - added typed initialization method.
- Graphic3d_ShaderProgram::PushVariableVec3() and others - added typed methods to push uniform varibales.
src/Graphic3d/FILES
src/Graphic3d/Graphic3d_Buffer.hxx
src/Graphic3d/Graphic3d_IndexBuffer.hxx
src/Graphic3d/Graphic3d_ShaderAttribute.cxx [new file with mode: 0644]
src/Graphic3d/Graphic3d_ShaderAttribute.hxx [new file with mode: 0644]
src/Graphic3d/Graphic3d_ShaderProgram.cxx
src/Graphic3d/Graphic3d_ShaderProgram.hxx
src/OpenGl/OpenGl_PrimitiveArray.cxx
src/OpenGl/OpenGl_ShaderProgram.cxx