Friday, December 26, 2008

Render to Texture Rocks!

This is probably one of the nicest parts of the D3D API, and I've just had a total pleasure setting it up and getting the basics working. Surface subdivision is now totally gone from the engine, and once I complete this (porting my old GL code for updating the texcoords is all I need now) I'll have totally cool non-breaking-up water surfaces.

Gotchas included setting up the textures correctly, and having to cover them in my device reset code (as they need to go into the default pool); I also need to test automatic mipmap generation on the Intel 910 as that seemed a little ropey back when I was using it for regular textures.

Here's the latest batch:

  • Moved Multiplayer menu to framework.
  • Commenced moving Setup menu to framework.
  • Wrote a *real* textbox for "Hostname" and "Your Name".
  • Removed display of Help page 0 ("Ordering") from the registered version.
  • Fixed bug where the save menu would crash if there were no save games but was otherwise valid.
  • Removed IPX Code.
  • Restored r_wateralpha functionality (mimics stock GLQuake, no fancy changes).
  • Cvar-ized light animation interpolation (r_lerplightstyle, default 1).
  • Restored gl_flashblend 1 mode and made gl_flashbend an archive cvar (retained 0 as new default).
  • Added r_lightupdatefrequency cvar to control how many times per second lightmaps update (default 0 = always) (not really that big a deal, but I felt it right to have it).
  • Added CDAudio_Stop to S_StopAllSounds.
  • Added DirectShow code for media playback for when no CD is present.
  • Added render to texture code for water warp updates.
  • Removed surface subdivision from water surfaces.
I hope too many people don't get too upset about the removal of IPX support. I seriously haven't even seen IPX in a real network for almost 8 years now, and TCP/IP setup is so trivial these days that the old advantages of that protocol are well gone. I intend paying the networking code a good visit sometime anyway, but that's well into the future at this stage.

0 comments: