diff options
Diffstat (limited to 'libs/rs/rsSimpleMesh.cpp')
-rw-r--r-- | libs/rs/rsSimpleMesh.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/libs/rs/rsSimpleMesh.cpp b/libs/rs/rsSimpleMesh.cpp index 2dd082d38593..5eb4b800c705 100644 --- a/libs/rs/rsSimpleMesh.cpp +++ b/libs/rs/rsSimpleMesh.cpp @@ -48,15 +48,18 @@ SimpleMesh::~SimpleMesh() void SimpleMesh::render(Context *rsc) const { if (mPrimitiveType.get()) { + LOGE("Rendering primitive"); renderRange(rsc, 0, mPrimitiveType->getDimX()); return; } if (mIndexType.get()) { + LOGE("Rendering index"); renderRange(rsc, 0, mIndexType->getDimX()); return; } + LOGE("Rendering non-indexed"); renderRange(rsc, 0, mVertexTypes[0]->getDimX()); } @@ -150,8 +153,8 @@ void SimpleMesh::serialize(OStream *stream) const SimpleMesh *SimpleMesh::createFromStream(Context *rsc, IStream *stream) { // First make sure we are reading the correct object - A3DClassID classID = (A3DClassID)stream->loadU32(); - if(classID != A3D_CLASS_ID_SIMPLE_MESH) { + RsA3DClassID classID = (RsA3DClassID)stream->loadU32(); + if(classID != RS_A3D_CLASS_ID_SIMPLE_MESH) { LOGE("simple mesh loading skipped due to invalid class id"); return NULL; } @@ -189,6 +192,25 @@ SimpleMesh *SimpleMesh::createFromStream(Context *rsc, IStream *stream) } } + LOGE("Triangles: %u", indexType->getDimX()/3); + uint16_t *indices = (uint16_t*)indexAlloc->getPtr(); + for(uint32_t i = 0; i < indexType->getDimX(); i += 3) { + LOGE("T: %.2u %.2u %2.u", indices[i], indices[i+1], indices[i+2]); + } + + uint32_t numVerts = mesh->mVertexTypes[0]->getDimX(); + LOGE("Vertices: %u", numVerts); + float *verts = (float*)mesh->mVertexBuffers[0]->getPtr(); + + for(uint32_t i = 0; i < numVerts; i ++) { + + LOGE("Vpnt: %+4.2f %+4.2f %+4.2f %+4.2f %+4.2f %+4.2f %+4.2f %+4.2f", verts[8*i], verts[8*i+1], verts[8*i+2], + verts[8*i+3], verts[8*i+4], verts[8*i+5], + verts[8*i+6], verts[8*i+7] ); + } + + mesh->uploadAll(rsc); + return mesh; } |