This is a mayor update to the flash Quake 3 BSP viewer I've been working on.
Current features:
- Perfect triangle sorting ( No glitches, sort of ).
- Near plane clipping ( Needed for indoors scenes ).
- Frustrum culling of bsp nodes.
- Backface culling of leaf faces.
- Culling of unseen bsp nodes using Potentially Viewable Sets.
- Lightmap parsing ( Now being displayed as solid textures ).
- Renders into a flash.display.Graphics instance using flash 10 drawTriangles.
- Uses custom projection instead of Utils3D.projectVectors.
- Implemented in HaXe.
Whats next:
- Load textures and render lightmaps ontop with Multiply blend. ( Probably quite costly to the CPU ).
- Clean up the code, Release it.
- Random optimizations.
And after that?
Bsps are really nice for static scenes, but they are too expensive for dynamic data. I have a few ideas in mind which would allow me to mix traditionally sorted models with the rendering of the bsp. I might implement that in the future.
Wow. That's pretty cool. I wonder what the framerate would be if you targeted C++ and then compiled it for iPhone.
ReplyDeleteDang, haxe is cool.