minor cleanup of old code and default settings
try not to bother with depth test unless we are actually going to need it (small performance boost in some cases)
don't clear depth bit in flip(), while technically correct it's also a bit redundant (and comes with a slight performance hit)
allow us to build without D3D support under Windows (just define NO_DIRECT3D)
clean up TMAP flags
fix a couple of minor OpenGL state change issues with spec and env map rendering
make sure we build again for OS X (OGL extension functions work a little different there)
render targets always need to be power-of-2 to avoid incomplete buffer issues in the code
when we disable culling in opengl_3dunlit be sure that we re-enable it on exit of function
re-fix screenshots
add true alpha blending support (with cmdline for now since the artwork has the catch up)
draw lines with float positioning, to be more accurate with resizing on non-standard resolutions
don't load cubemaps from file for D3D, not sure how to do it anyway
update geometry batcher code, memory fixes, dynamic stuff, basic fixage, etc.
newer OpenGL extension support
add GL_ARB_texture_rectangle support for non-power-of-2 textures as interface graphics
add cubemap reading and writing support to DDS loader
fix bug in DDS loader that made compressed images with mipmaps use more memory than they really required
add support for a default envmap named "cubemap.dds"
new mission flag "$Environment Map:" to use a pre-existing envmap
minor cleanup of compiler warning messages
get rid of wasteful math from gr_set_proj_matrix()
remove extra gr_set_*_matrix() calls from starfield.cpp as there was no longer a reason for them to be there
clean up bmpman flags in reguards to cubemaps and render targets
disable D3D envmap code until it can be upgraded to current level of code
remove bumpmap code from OpenGL stuff (sorry but it was getting in the way, if it was more than copy-paste it would be worth keeping)
replace gluPerspective() call with glFrustum() call, it's a lot less math this way and saves the extra function call
but I don't want people complaining about the bad issue until I can figure out a more appropriate solution with
gr_set_clip(), which is the real source of the problem
- remove special uv offsets for non-standard res, they were stupid anyway and don't actually fix the problem (which should actually be fixed now)
- avoid some costly math where possible in the drawing functions
- add opengl_error_string(), this is part of a later update but there wasn't a reason to not go ahead and commit this peice now
- minor cleanup to Win32 extension defines
- make opengl_lights[] allocate only when using OGL
- cleanup some costly per-frame lighting stuff
- clamp textures for interface and aabitmap (font) graphics since they shouldn't normally repeat anyway (the default)
(doing this for D3D, if it doesn't already, may fix the blue-lines problem since a similar issue was seen with OGL)
- initial support for dropping from fullscreen to windowed mode (will get more changes in another day or so, mainly because of FRED2)
- a little cleanup
- init change for WGL to be a little safer and to help report what it tried to use and what it got in the way of pixelformat
- don't use global OGL_enabled to decide if GL is initialized or not (also getting more changes shortly)
- make sure opengl_close() will always execute properly through atexit() (also getting changed later to not run through atexit())
change error check handling again, FRED may like this better but if it starts hanging again I have another fix
little safety checks for opengl_close()
fix atexit() call for OGL closeout
- minor cleanup of things that have bothered me at one time or another
- slight speedup from state switching
- slightly better specmap handling, fixes a couple of (not frequent) strange and sorta random issues
- make sure to only disable HTL arb stuff when in HTL mode
- handle any extra lighting pass before spec pass so the light can be applied properly
minor cleanup and readability changes
get Apple GL version change in CVS finally, the capabilities of an Apple GL version don't neccessarily correspond to it's features
make debug messages a bit more readable
clean up the debug console commands for minimize and anisotropic filter setting
make anisotropic filter actually work correctly and have it settable with a reg option
give opengl_set_arb() the ability to disable all features on all arbs at once so I don't have to everywhere
add -img2dds support
cleanup some D3D stuff (missing a lot since the old code is so unstable I couldn't get it working like I wanted)
some minor OGL cleanup and small performance changes
converge the various pcx_read_bitmap* functions into one
cleanup/rename/remove some cmdline options
fix OGL fullscreen switch for SDL since the old way only worked under Linux and not OSX or Windows
fix OGL version check, it would allow a required major version to be higher if the required minor version was lower than current
- very minor performance boost from not doing stupid things :)
- minor change to 3d shockwave sizing to better approximate 2d effect movements
- for shields, Gobal_tris was only holding half as many as the game can/will use, buffer is now set to full size to avoid possible rendering issues
- removed extra tcache_set on OGL spec map code, not sure how that slipped in
always use bm_set_render_target() rather than the gr_ version so that the graphics state is set properly
save the original gamma ramp on OGL init so that it can be restored on exit
more non-standard res fixing
- I think everything should default to resize now (much easier than having to figure that crap out)
- new mouse_get_pos_unscaled() function to return 1024x768/640x480 relative values so we don't have to do it later
- lots of little cleanups which fix several strange offset/size problems
- fix gr_resize/unsize_screen_pos() so that it won't wrap on int (took too long to track this down)