diff options
author | 2010-01-06 11:57:52 -0800 | |
---|---|---|
committer | 2010-01-06 12:01:51 -0800 | |
commit | a09a6e145b778861f7abee86ce17e59507ed221e (patch) | |
tree | 15221ba7d657a5a75ec3f6ae2804c1b79a07a969 /libs/rs/rsSimpleMesh.cpp | |
parent | 432bff01ec67533dbbb6ed27cb190c99e83ea226 (diff) |
More complete support for named attribs. Adds user typed attribs as available to programVertex. Non user attribs are not treated like user for GL2 for simplicity.
Diffstat (limited to 'libs/rs/rsSimpleMesh.cpp')
-rw-r--r-- | libs/rs/rsSimpleMesh.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/libs/rs/rsSimpleMesh.cpp b/libs/rs/rsSimpleMesh.cpp index 5f5622d52fd5..a819c07c4853 100644 --- a/libs/rs/rsSimpleMesh.cpp +++ b/libs/rs/rsSimpleMesh.cpp @@ -55,18 +55,25 @@ void SimpleMesh::renderRange(Context *rsc, uint32_t start, uint32_t len) const return; } + rsc->checkError("SimpleMesh::renderRange 1"); VertexArray va; - for (uint32_t ct=0; ct < mVertexTypeCount; ct++) { - mVertexBuffers[ct]->uploadCheck(rsc); - va.setActiveBuffer(mVertexBuffers[ct]->getBufferObjectID()); - mVertexTypes[ct]->enableGLVertexBuffer(&va); - } if (rsc->checkVersion2_0()) { + for (uint32_t ct=0; ct < mVertexTypeCount; ct++) { + mVertexBuffers[ct]->uploadCheck(rsc); + va.setActiveBuffer(mVertexBuffers[ct]->getBufferObjectID()); + mVertexTypes[ct]->enableGLVertexBuffer2(&va); + } va.setupGL2(rsc, 0, &rsc->mShaderCache); } else { + for (uint32_t ct=0; ct < mVertexTypeCount; ct++) { + mVertexBuffers[ct]->uploadCheck(rsc); + va.setActiveBuffer(mVertexBuffers[ct]->getBufferObjectID()); + mVertexTypes[ct]->enableGLVertexBuffer(&va); + } va.setupGL(rsc, 0); } + rsc->checkError("SimpleMesh::renderRange 2"); if (mIndexType.get()) { mIndexBuffer->uploadCheck(rsc); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mIndexBuffer->getBufferObjectID()); |