Commit Graph
53 Commits
Author SHA1 Message Date
taylor 662f5bdc88 obsolete gluLookAt() in favor of doing it manually, should be slight faster and more precise
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@3956 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 18:42:49 +10:00
taylor 030270f2a8 add support for new IBX format which can support up to UINT_MAX worth of verts (NOTE: D3D code still needs to be made compatible with this!!)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@3885 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 18:42:45 +10:00
taylor bbbaa95841 some general cleanup add emissive light falloff support for asteroids properly setup env texture matrix get rid of secondary color crap, there are better ways to do it anyway
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@3872 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 18:42:45 +10:00
taylor 36f80a7355 rename set_warp_globals() to model_set_warp_globals() remove two old/unused MR flags (MR_ALWAYS_REDRAW, used for caching that doesn't work; MR_SHOW_DAMAGE, didn't do anything) add MR_FULL_DETAIL to render an object regardless of render/detail box setting change "model_current_LOD" to a global "Interp_detail_level" and the static "Interp_detail_level" to "Interp_detail_level_locked", a bit more descriptive minor bits of cleanup change a couple of vm_vec_scale_add2() calls to just vm_vec_add2() calls in ship.cpp, since that was the final result anyway
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@3708 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 18:42:39 +10:00
taylor 4adea7b1d0 fix the envmap-getting-rotated-by-turrets bug (though it did make me chuckle a bit when I first saw it ;)) try to reuse old view setup info, if we are using the same settings again (for speed up purposes, will be a bigger deal when bumpmapping gets here)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@3698 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 18:42:39 +10:00
taylor b27fad2e1e bit of cleanup (technically the vertex buffer stuff is part of a much larger change slated for post-3.6.9, but this should be a little faster)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@3615 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 18:42:36 +10:00
taylor 9430b78326 minor clean and code optimizations clean up view/proj matrix fubar that made us need far more matrix levels that actually needed (partial fix for Mantis #563) add debug safety check to make sure that we don't use more than 2 proj matrices (all that GL is required to support) set up a texture matrix for the env map to that it doesn't move/look funky
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@3590 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 18:42:35 +10:00
taylor 1c59dd7af7 don't render extra lighting passes when fog is enabled, prevents fog fragment from getting added for each pass wobble wobble no more!!
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@3371 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 18:42:28 +10:00
taylor 9774840088 minor cleanup/optimization to beam warmup glow rendering function various lighting code cleanups - try to always make sure beam origin lights occur outside of model - make Static_lights[] dynamic - be sure to reset to first 8 lights when moving on to render spec related texture passes - add ambient color to point lights (helps warp effects) - sort lights to try and get more important and/or visible lights to always happen in initial render pass
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@3357 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 18:42:27 +10:00
taylor 646e844eb2 z-range for 2D ortho is -1.0 to 1.0, may help avoid some strangeness if we actually get that right. :)
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)
2006-05-30 03:53:52 +00:00
taylor 72e567a7b9 remove grd3dparticle.* and grd3dbatch.*, they are obsolete
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.
2006-05-27 17:07:48 +00:00
taylor 7a8789e334 OpenGL envmap support
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
2006-05-13 07:29:52 +00:00
taylor 2ee9d66423 some cleanup and slight reorg
- 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)
2006-04-12 01:10:35 +00:00
Goober5000 b52b6b1e00 spelling 2006-02-25 21:47:19 +00:00
wmcoolmon c4755fb10f Debug warning; compiler warning fix. 2006-01-31 06:43:21 +00:00
taylor 26b25d548a better lighting for OpenGL
remove some extra stuff that was from sectional bitmaps since we don't need it anymore
2006-01-30 06:52:15 +00:00
phreak f36a0b2355 htl_lines should follow zbuffering rules 2006-01-25 03:11:52 +00:00
taylor fa811c3915 allow gr_render_buffer() to take TMAP flags
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
2006-01-18 16:14:04 +00:00
wmcoolmon 246cfcfa65 Codebase commit, most notably including objecttypes.tbl 2005-12-29 08:08:42 +00:00
taylor 9ac1accce9 "House Keeping!!"
- 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
2005-12-16 06:48:28 +00:00
taylor 30bd180186 remove GL_NO_HTL define since it's basically useless at this point and can produced non-functioning builds
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
2005-12-08 15:07:57 +00:00
taylor c1f4db610f partial spec fix, can't mass kill the pointers when they are still needed for the second pass (still something else wrong though)
forgot that the extra rangeelement optimization check isn't needed anymore, just look at indices since that's all we're using
2005-12-07 05:42:50 +00:00
taylor 985e6522fa clean up some init stuff and fix a minor SDL annoyance
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
2005-12-06 02:50:41 +00:00
phreak c6881022f7 texturing shouldn't be on when drawing lines. 2005-11-30 03:07:54 +00:00
taylor 0fe5be4fe9 small bit of EFF cleanup
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
2005-11-13 06:44:18 +00:00
taylor be5d54a1ac use unsigned index buffers 2005-10-16 11:20:43 +00:00
taylor d06f863d48 merge of OSX tree
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
2005-09-05 09:36:41 +00:00
phreak bcef5f55ff Get rid of alpha blending when using the htl drawing fuctions for lines and spheres.
Right now, gr_opengl_draw_htl_line and gr_opengl_draw_htl_sphere are only used in fred, so
it shouldn't change anything critical
2005-08-29 02:23:04 +00:00
taylor 57849e8b03 hopefully fix the problem that was causing geometry issues in just OGL when using VBOs 2005-08-08 01:19:50 +00:00
taylor 260b800593 general cleanup, remove some old code
speed up gr_opengl_flip() just a tad
inverted gamma slider fix that Sticks made to D3D
possible fix for ATI green screens
move opengl_check_for_errors() out of gropentnl so we can use it everywhere
fix logged OGL info from debug builds to be a little more readable
if an extension is found but required function is not then fail
try to optimize glDrawRangeElements so we are not rendering more than the card is optimized for
some 2d matrix usage checks
2005-06-19 02:37:02 +00:00
taylor f523fa55d8 use vm_malloc(), vm_free(), vm_realloc(), vm_strdup() rather than system named macros
fixes various problems and is past time to make the switch
try and keep up with how much VBO data is in memory too since that takes away from texture memory
2005-05-12 17:43:20 +00:00
taylor 7f786136a6 s/vector/vec3d/g, better support for different compilers (Jens Granseuer) 2005-04-05 05:53:25 +00:00
wmcoolmon dd52e2548b Forgot to define 'i' outside of for scope...ironically, in the OGL code. 2005-03-27 02:59:27 +00:00
taylor 95719b2742 s/gr_ogl_/gr_opengl_/g
add empty gr_opengl_draw_line_list() so that it's not a NULL pointer
make gr_opengl_draw_htl_sphere() just use GLU so we don't need yet another friggin API
2005-03-24 23:42:21 +00:00
phreak 76abb99cb8 Added gr_draw_htl_line and gr_draw_htl sphere
There still needs to be D3D versions implemented, but OGL is done.
Follow that or ask phreak about how its implemented/
2005-03-20 00:09:07 +00:00
wmcoolmon 00528726ee OpenGL display lists 2005-03-19 21:03:54 +00:00
bobboau b46d8e28c7 added new graphic functions for state blocks
also added a class formanageing a new effect
2005-03-19 18:02:35 +00:00
taylor 4304153d4b more consolidation of various graphics variables
some header cleaning
only one tmapper_internal for OGL, don't use more than two tex/pass now
seperate out 2d matrix mode to allow -2d_poof in OGL and maybe fix missing
   interface when set 3d matrix stuff doesn't have corresponding end
add dump_frame stuff for OGL, mostly useless but allows trailer recording
2005-02-23 05:11:13 +00:00
taylor 2223aed74b clean up some model related globals
code to disable individual thruster glows
fix issue where 1 extra OGL light pass didn't render
2005-02-15 00:06:27 +00:00
taylor 75daed2b9b fix possible crash in bm_get_section_size()
get jpeg_read_header() working properly
VBO fixes and minor optimizations
2005-02-12 10:44:11 +00:00
taylor 180b2750fa plug leak from VBO crash fix 2005-01-13 04:55:57 +00:00
taylor 4d16203170 dynamic allocation of num supported OpenGL lights
add config option for more realistic light settings
don't render spec maps in nebula to address lighting issue
2005-01-03 18:45:22 +00:00
taylor b349a99c92 good OpenGL spec mapping
fix VBO crash with multitexture using same uv coord data
little speedup of opengl_tcache_frame()
error message to make sure hardware supports the minimum texture size
move OpenGL version check out of the extention printout code
disable 2d_poof with OpenGL
2005-01-01 11:24:23 +00:00
taylor fabd6362a7 Linux tree merge, single array for VBOs/HTL 2004-10-31 21:45:13 +00:00
taylor ef4247b55c fix NULL pointer and try to prevent in future, remove excess commands in opengl_cleanup() 2004-07-29 09:35:29 +00:00
Kazan 864e1b5922 remove MCD complete 2004-07-26 20:47:56 +00:00
taylor 501ae8c8c1 oops, I can't spell 2004-07-17 18:49:57 +00:00
taylor 463e111810 Bob say we fix OGL, so me fix OGL <grunt> 2004-07-17 18:40:40 +00:00
Kazan 428b3dcbc9 MCD - define _MCD_CHECK to use memory tracking 2004-07-12 16:33:09 +00:00
bobboau a3422b4d01 added the working decal code 2004-07-11 03:22:54 +00:00