diff options
| author | 2009-12-14 12:57:40 -0800 | |
|---|---|---|
| committer | 2009-12-14 12:59:49 -0800 | |
| commit | 3b7d39bb51f851ddee441fa34884495217e477f9 (patch) | |
| tree | ae1568c9e64155d2d164a5f80910145d603d772e /libs/rs/rsSimpleMesh.cpp | |
| parent | 97f2578e8cf154ba08f2f4219a8ff1cd97613192 (diff) | |
Implement RS tracked defered texture and buffer object uploads.
Diffstat (limited to 'libs/rs/rsSimpleMesh.cpp')
| -rw-r--r-- | libs/rs/rsSimpleMesh.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/rs/rsSimpleMesh.cpp b/libs/rs/rsSimpleMesh.cpp index edfe9679c65e..f7d14a545993 100644 --- a/libs/rs/rsSimpleMesh.cpp +++ b/libs/rs/rsSimpleMesh.cpp @@ -57,6 +57,7 @@ void SimpleMesh::renderRange(Context *rsc, uint32_t start, uint32_t len) const VertexArray va; for (uint32_t ct=0; ct < mVertexTypeCount; ct++) { + mVertexBuffers[ct]->uploadCheck(rsc); va.setActiveBuffer(mVertexBuffers[ct]->getBufferObjectID()); mVertexTypes[ct]->enableGLVertexBuffer(&va); } @@ -67,6 +68,7 @@ void SimpleMesh::renderRange(Context *rsc, uint32_t start, uint32_t len) const } if (mIndexType.get()) { + mIndexBuffer->uploadCheck(rsc); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mIndexBuffer->getBufferObjectID()); glDrawElements(mGLPrimitive, len, GL_UNSIGNED_SHORT, (uint16_t *)(start * 2)); } else { @@ -78,14 +80,14 @@ void SimpleMesh::uploadAll(Context *rsc) { for (uint32_t ct=0; ct < mVertexTypeCount; ct++) { if (mVertexBuffers[ct].get()) { - mVertexBuffers[ct]->uploadToBufferObject(); + mVertexBuffers[ct]->deferedUploadToBufferObject(rsc); } } if (mIndexBuffer.get()) { - mIndexBuffer->uploadToBufferObject(); + mIndexBuffer->deferedUploadToBufferObject(rsc); } if (mPrimitiveBuffer.get()) { - mPrimitiveBuffer->uploadToBufferObject(); + mPrimitiveBuffer->deferedUploadToBufferObject(rsc); } } |