From 90d3c710c491cd994ef7bc11e747835667efc123 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 4 Nov 2009 12:17:58 +0000 Subject: [PATCH] Reduced the number of aliased attributes to fit within the basic 8 attribute location available on basic GLES2 implementations --- src/osg/State.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/osg/State.cpp b/src/osg/State.cpp index 6ae67d82a..51692b7e4 100644 --- a/src/osg/State.cpp +++ b/src/osg/State.cpp @@ -59,6 +59,29 @@ State::State(): _modelViewProjectionMatrixUniform = new Uniform(Uniform::FLOAT_MAT4,"osg_ModelViewProjectionMatrix"); _normalMatrixUniform = new Uniform(Uniform::FLOAT_MAT3,"osg_NormalMatrix"); + bool compactAliasing = true; + if (compactAliasing) + { + setUpVertexAttribAlias(_vertexAlias,0, "gl_Vertex","osg_Vertex","attribute vec4 "); + setUpVertexAttribAlias(_normalAlias, 1, "gl_Normal","osg_Normal","attribute vec3 "); + setUpVertexAttribAlias(_colorAlias, 2, "gl_Color","osg_Color","attribute vec4 "); + + _texCoordAliasList.resize(5); + for(unsigned int i=0; i<_texCoordAliasList.size(); i++) + { + std::stringstream gl_MultiTexCoord; + std::stringstream osg_MultiTexCoord; + gl_MultiTexCoord<<"gl_MultiTexCoord"<