diff options
| author | Alex Sakhartchouk <alexst@google.com> | 2010-07-12 15:50:32 -0700 |
|---|---|---|
| committer | Alex Sakhartchouk <alexst@google.com> | 2010-07-12 15:50:32 -0700 |
| commit | 80a4c2cd34aedb4f1a2e5e7d1ac26a9aeebe41ae (patch) | |
| tree | 1add64a0dee5bf0ac1c98b63bd3b43648ca7af50 /libs/rs/rsMesh.cpp | |
| parent | cefd8d9588230577356d24597acc04ce1e276582 (diff) | |
| download | frameworks_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.cpp | 41 |
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(); + } + } + +} + + + + }} |
