diff options
author | 2010-06-04 10:10:24 -0700 | |
---|---|---|
committer | 2010-06-04 10:10:24 -0700 | |
commit | 0829f0d51f73b529a018b9afd931d01711db2f89 (patch) | |
tree | 05b9677a884c74e3c1cb9cbc4050f59310aabd5e /libs/rs/rsSimpleMesh.cpp | |
parent | 4a575c682bae734338e1b8fd64886b0f29b960e4 (diff) | |
parent | aae74ad6144470c66e72b075ac3afeddb186fa98 (diff) |
Merge "Creating the jni and java layer to integrate a3d"
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; } |