Revision 7198e5c9
Added by Leszek Koltunski over 3 years ago
src/main/java/org/distorted/examples/meshfile/MeshFileRenderer.java | ||
---|---|---|
33 | 33 |
import org.distorted.library.main.DistortedLibrary; |
34 | 34 |
import org.distorted.library.main.DistortedScreen; |
35 | 35 |
import org.distorted.library.main.DistortedTexture; |
36 |
import org.distorted.library.mesh.MeshBase; |
|
37 | 36 |
import org.distorted.library.mesh.MeshFile; |
38 | 37 |
import org.distorted.library.type.DynamicQuat; |
39 | 38 |
import org.distorted.library.type.Static3D; |
... | ... | |
58 | 57 |
private DistortedEffects mEffects; |
59 | 58 |
private Static3D mScale; |
60 | 59 |
private long mTime; |
61 |
private int mBytes; |
|
62 |
private int mVertices; |
|
63 | 60 |
private float mCurrentScale; |
61 |
private MeshFile mMesh; |
|
64 | 62 |
|
65 | 63 |
Static4D mQuat1, mQuat2; |
66 | 64 |
int mScreenMin; |
... | ... | |
155 | 153 |
mTexture.setTexture( createTexture(resourceID) ); |
156 | 154 |
|
157 | 155 |
long t1 = System.currentTimeMillis(); |
158 |
MeshBase mesh = createMesh(resourceID);
|
|
156 |
createMesh(resourceID); |
|
159 | 157 |
long t2 = System.currentTimeMillis(); |
160 | 158 |
|
161 | 159 |
mTime = t2-t1; |
162 | 160 |
|
163 | 161 |
mScreen.detachAll(); |
164 |
mScreen.attach(mTexture,mEffects,mesh); |
|
162 |
mScreen.attach(mTexture,mEffects,mMesh);
|
|
165 | 163 |
} |
166 | 164 |
|
167 | 165 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
298 | 296 |
|
299 | 297 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
300 | 298 |
|
301 |
private MeshBase createMesh(int resourceID)
|
|
299 |
private void createMesh(int resourceID)
|
|
302 | 300 |
{ |
303 | 301 |
Context con = mView.getContext(); |
304 | 302 |
Resources res = con.getResources(); |
305 | 303 |
InputStream is = res.openRawResource(resourceID); |
306 | 304 |
DataInputStream dos = new DataInputStream(is); |
307 |
MeshFile mesh = new MeshFile(dos); |
|
308 |
|
|
309 |
mBytes = mesh.getNumBytes(); |
|
310 |
mVertices = mesh.getNumVertices(); |
|
305 |
mMesh = new MeshFile(dos); |
|
311 | 306 |
|
312 | 307 |
try |
313 | 308 |
{ |
... | ... | |
317 | 312 |
{ |
318 | 313 |
android.util.Log.e("MeshFile", "Error closing InputStream: "+e.toString()); |
319 | 314 |
} |
320 |
|
|
321 |
return mesh; |
|
322 | 315 |
} |
323 | 316 |
|
324 | 317 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
332 | 325 |
|
333 | 326 |
int getBytes() |
334 | 327 |
{ |
335 |
return mBytes;
|
|
328 |
return mMesh.getNumBytes();
|
|
336 | 329 |
} |
337 | 330 |
|
338 | 331 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
339 | 332 |
|
340 | 333 |
int getVertices() |
341 | 334 |
{ |
342 |
return mVertices; |
|
335 |
return mMesh.getNumVertices(); |
|
336 |
} |
|
337 |
|
|
338 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
339 |
|
|
340 |
int getEndEffIndex(int component) |
|
341 |
{ |
|
342 |
return mMesh.getLastVertexEff(component); |
|
343 |
} |
|
344 |
|
|
345 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
346 |
|
|
347 |
int getEndTexIndex(int component) |
|
348 |
{ |
|
349 |
return mMesh.getLastVertexTex(component); |
|
350 |
} |
|
351 |
|
|
352 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
353 |
|
|
354 |
int getEffComponentNum() |
|
355 |
{ |
|
356 |
return mMesh.numEffComponents(); |
|
357 |
} |
|
358 |
|
|
359 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
360 |
|
|
361 |
int getTexComponentNum() |
|
362 |
{ |
|
363 |
return mMesh.numTexComponents(); |
|
343 | 364 |
} |
344 | 365 |
} |
Also available in: Unified diff
Progress with the MeshFile app.