summaryrefslogtreecommitdiffstats
path: root/libs/rs/rsMesh.cpp
diff options
context:
space:
mode:
authorAlex Sakhartchouk <alexst@google.com>2010-07-12 15:50:32 -0700
committerAlex Sakhartchouk <alexst@google.com>2010-07-12 15:50:32 -0700
commit80a4c2cd34aedb4f1a2e5e7d1ac26a9aeebe41ae (patch)
tree1add64a0dee5bf0ac1c98b63bd3b43648ca7af50 /libs/rs/rsMesh.cpp
parentcefd8d9588230577356d24597acc04ce1e276582 (diff)
downloadframeworks_base-80a4c2cd34aedb4f1a2e5e7d1ac26a9aeebe41ae.zip
frameworks_base-80a4c2cd34aedb4f1a2e5e7d1ac26a9aeebe41ae.tar.gz
frameworks_base-80a4c2cd34aedb4f1a2e5e7d1ac26a9aeebe41ae.tar.bz2
Work on synchronizing a3d created files and java layer.
Adding culling to ProgramRaster Change-Id: I58ccc82d37edc9539289d5eba44ea0e720874af5
Diffstat (limited to 'libs/rs/rsMesh.cpp')
-rw-r--r--libs/rs/rsMesh.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/libs/rs/rsMesh.cpp b/libs/rs/rsMesh.cpp
index d1b5581..9026578 100644
--- a/libs/rs/rsMesh.cpp
+++ b/libs/rs/rsMesh.cpp
@@ -271,4 +271,45 @@ void rsi_MeshBindIndex(Context *rsc, RsMesh mv, RsAllocation va, uint32_t primTy
sm->updateGLPrimitives();
}
+void rsi_MeshGetVertexBufferCount(Context *rsc, RsMesh mv, int32_t *numVtx)
+{
+ Mesh *sm = static_cast<Mesh *>(mv);
+ *numVtx = sm->mVertexBufferCount;
+}
+
+void rsi_MeshGetIndexCount(Context *rsc, RsMesh mv, int32_t *numIdx)
+{
+ Mesh *sm = static_cast<Mesh *>(mv);
+ *numIdx = sm->mPrimitivesCount;
+}
+
+void rsi_MeshGetVertices(Context *rsc, RsMesh mv, RsAllocation *vtxData, uint32_t vtxDataCount)
+{
+ Mesh *sm = static_cast<Mesh *>(mv);
+ rsAssert(vtxDataCount == sm->mVertexBufferCount);
+
+ for(uint32_t ct = 0; ct < vtxDataCount; ct ++) {
+ vtxData[ct] = sm->mVertexBuffers[ct].get();
+ sm->mVertexBuffers[ct]->incUserRef();
+ }
+}
+
+void rsi_MeshGetIndices(Context *rsc, RsMesh mv, RsAllocation *va, uint32_t *primType, uint32_t idxDataCount)
+{
+ Mesh *sm = static_cast<Mesh *>(mv);
+ rsAssert(idxDataCount == sm->mPrimitivesCount);
+
+ for(uint32_t ct = 0; ct < idxDataCount; ct ++) {
+ va[ct] = sm->mPrimitives[ct]->mIndexBuffer.get();
+ primType[ct] = sm->mPrimitives[ct]->mPrimitive;
+ if(sm->mPrimitives[ct]->mIndexBuffer.get()) {
+ sm->mPrimitives[ct]->mIndexBuffer->incUserRef();
+ }
+ }
+
+}
+
+
+
+
}}