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)
use floats for gr_bitmap() size and positions, mainly for non-standard resolutions since this allows proper resizing and positioning
(the cast to float was happening later anyway so there should be not additional slowdown from that with standard resolutions)
change g3_draw_2d_poly_bitmap() to use floats instead of ints, gets rid of the extra cast and allows better resize values
use nicest hints for texture compression, should improve quality a little
when reporting compressed sizes to debug log make ani size be total, not per frame
- 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())
- some new error checking (and fixes related to that) and cleanup
- fix EFFs not getting released/unloaded properly (was in a local tree but apparently missed CVS)
- minor fixes for bm_release() to produce a more properly cleaned slot
- use fast unloading for page_in stuff since we don't actually want really want the load count changing for texture maps
and to make sure that we free the memory usage regardless of load count
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
let gr_render_buffer() render untextured polys (OGL only until some D3D people fix it on their side)
add MR_SHOW_OUTLINE_HTL flag so we easily render using HTL mode for wireframe views
make Interp_verts/Interp_norms/etc. dynamic and get rid of the extra htl_* versions