Something very nice just happened - I've finally hit the magical 100 FPS point on my Intel 910. This was a long time coming, and various fine tunings and optimizations have paid off well. It was definitely one goal I wanted to achieve before releasing, as the previous version only did 70 FPS at best.
I've reverted particles from using point sprites to the more traditional technique of textured primitives. Was never really happy with point sprites - they came close but didn't quite match the classic look. This is better, and has also enabled me to run them through shaders. No real reason for this as I'm currently not doing anything in the shader that couldn't be done in fixed func, but it's good to have the supporting infrastructure in place in case I ever decide to.
I've also amended the dot texture a bit to something that looks more round; funny but I kinda miss the angular blob of classic Q1, but I suppose it's OK.
While I'm doing this I'm building the code up so that it'll be able to support custom particle types. I don't really have any intention of building a custom particle engine just yet, but it's something that might be on the cards at some time in the future.
Working on particles makes me really wish that MS would backport geometry shaders to Direct3D 9. I don't really see any reason why they couldn't be done (only to tempt folks towards Vista lock-in) - Direct3D 9 in it's current incarnation already uses the Direct3D 10 shader compiler, and OpenGL can do geometry shaders without requiring Vista - and they would be an absolute boon here. There are lots of ways they could help with fixing up particle systems.
Anyway, the old state change bug is finally gone now on account of having done this, but nonetheless I'm going to press ahead with completing the move of everything to shaders. All that's left is gl_flashblend 1 mode (another place where geometry shaders would help a lot - sigh!) and sky. Then I intend doing a complete review of all state changes in the code, some PIX profiling, some tidying up of other things, and we're into release time!
Monday, January 19, 2009
More updates
Posted by
mhquake
at
12:05 AM
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment