Here are some shots of a new feature I've been working on (and still am): polygonal meshes. I wasn't supporting polygonal objects before since they can really claim a lot of precious bytes, but Izard really needed them for his plans for our new intro. Luckily I didn't have to invent everything myself, since I found two really great sources of info on how to pack/compress such polygonal objects as efficient as possible:
Iq's discussion of his technology from the 195/95/256 64k demo, and
ryg's presentation of how to code compressor-friendly.
Anyway I'm currently using several tricks to minimize the required space: polygon strips, only storing vertex positions and indices (regenerating normals and automapping uv's at loadtime), quantizizing vertex positions to 8bit per component, delta encoding all values, and reordering streams per component. And it seems to help a lot. I've been able to store a 19800 triangle/9902 vertices sphere into 74000 bytes, which compressed to 4520 bytes. Which is good enough, since I'll be having objects op 1k triangles max probably. (But the achieved compression ratio does vary per object, since it depends on used topology and geometry.)
There are two things I still have to implement though: auto UV generation and
mesh subdivision (just like Maya's subdivs), for smoother surfaces without having to store all the polies. Both will be done at load-time.
great post. I would love to follow you on twitter. By the way, did any one learn that some Iranian hacker had busted twitter yesterday.
[url=http://amazon.reviewazone.com/]Margaret[/url]