quakespasm/Quake
Eric Wasylishen 112c8b68b8 Alias model rendering fast-path using OpenGL 2.
In GL_MakeAliasModelDisplayLists, after saving the standerd triangle strips and fans onto the hunk, if the system is GL2 capable, we also save a second version of the mdl on the hunk designed to be loaded into a VBO (GL_MakeAliasModelDisplayLists_VBO). In R_NewMap, and on video mode changes, we call GLMesh_LoadVertexBuffers which loops over all precached mdl's and loads the data into a pair of VBO's (vertices and vertex indices).

Finally, in R_DrawAliasModel, assuming no rendering options are disabling the fast-path (r_drawflat 1, r_lightmap 1, or r_fullbright 1 would disable it), we call GL_DrawAliasFrame_GLSL, which sets up all of the bindings and draws the (possibly lerped) mdl in one glDrawElements call.

Special thanks to MH for some of the code from RMQEngine and the general concept.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1151 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-01-20 18:59:15 +00:00
..
anorm_dots.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
anorms.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
arch_def.h arch_def.h: update from uhexen2. 2014-07-11 07:06:15 +00:00
bgmusic.c replace all ctype.h functions/macros and strcasecmp/strncasecmp() 2013-09-25 17:01:40 +00:00
bgmusic.h some codec stuff syncing with uhexen2 2013-02-27 16:50:25 +00:00
bspfile.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
build_cross_osx-sdl2.sh Makefile.darwin: target 10.5 when building for x86 against SDL2. 2014-09-17 11:00:28 +00:00
build_cross_osx.sh - Makefile.darwin: -mmacosx-version-min also needs to be among 2012-09-03 21:21:04 +00:00
build_cross_win32.sh - Makefile.darwin: -mmacosx-version-min also needs to be among 2012-09-03 21:21:04 +00:00
build_cross_win64.sh - Makefile.darwin: -mmacosx-version-min also needs to be among 2012-09-03 21:21:04 +00:00
cd_null.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
cd_sdl.c sdl: Make our error checking for SDL_Init(SubSystem) consistent with the SDL wiki/test programs. 2014-10-18 16:33:01 +00:00
cdaudio.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
cfgfile.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
cfgfile.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
chase.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
cl_demo.c Support pausing demo playback. 2014-12-08 19:30:36 +00:00
cl_input.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
cl_main.c Support pausing demo playback. 2014-12-08 19:30:36 +00:00
cl_parse.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
cl_tent.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
client.h Support pausing demo playback. 2014-12-08 19:30:36 +00:00
cmd.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
cmd.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
common.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
common.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
console.c console.c: When toggling the fullscreen console off, clear the current line. 2014-10-15 06:06:18 +00:00
console.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
crc.c initial import of SDL port of Fitzquake-0.85 / 20090510 sources. 2010-02-15 23:26:55 +00:00
crc.h bspfile.h, cdaudio.h, client.h, cmd.h, common.h, console.h, crc.h, cvar.h, 2010-02-21 00:01:08 +00:00
cvar.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
cvar.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
detect.sh Updated support for building the OSX versions using Makefile.darwin. Do 2012-08-16 04:51:41 +00:00
draw.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
gl_draw.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
gl_fog.c Fog_ParseWorldspawn: before reading the worldspawn value, clear the fog rgb color back to the default value (0.3). 2014-11-03 21:27:27 +00:00
gl_mesh.c Alias model rendering fast-path using OpenGL 2. 2015-01-20 18:59:15 +00:00
gl_model.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
gl_model.h Alias model rendering fast-path using OpenGL 2. 2015-01-20 18:59:15 +00:00
gl_refrag.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
gl_rlight.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
gl_rmain.c Alias model rendering fast-path using OpenGL 2. 2015-01-20 18:59:15 +00:00
gl_rmisc.c Alias model rendering fast-path using OpenGL 2. 2015-01-20 18:59:15 +00:00
gl_screen.c minor whitespace adjustments 2014-10-11 19:11:40 +00:00
gl_sky.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
gl_texmgr.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
gl_texmgr.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
gl_vidsdl.c Alias model rendering fast-path using OpenGL 2. 2015-01-20 18:59:15 +00:00
gl_warp.c r_oldwater: change default to 0 (which means use the higher quality fitzquake render-to-texture water by default, instead of the lower quality glquake water). 2015-01-17 00:54:09 +00:00
gl_warp_sin.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
glquake.h Alias model rendering fast-path using OpenGL 2. 2015-01-20 18:59:15 +00:00
host.c input: Rework the text/non-text input mode handling. 2014-09-23 19:10:02 +00:00
host_cmd.c Support pausing demo playback. 2014-12-08 19:30:36 +00:00
image.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
image.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
in_sdl.c in_sdl: change DBEUG_INPUT preprocessor check to an "in_debugkeys" cvar to make it easier to debug unusual keyboards 2014-10-14 18:31:49 +00:00
input.h input: Rework the text/non-text input mode handling. 2014-09-23 19:10:02 +00:00
keys.c keys.c: Add keynames BACKQUOTE and TILDE, to facilitate (un)binding them from the console. 2014-10-15 17:32:40 +00:00
keys.h in_sdl.c, key.c: Fixes agreed on with Sander: 2014-10-14 03:30:44 +00:00
main_sdl.c minor tidy-ups 2014-10-18 17:00:34 +00:00
Makefile remove SDL_net support which had been unsupported for some time 2014-09-20 20:37:35 +00:00
Makefile.darwin remove SDL_net support which had been unsupported for some time 2014-09-20 20:37:35 +00:00
Makefile.w32 remove SDL_net support which had been unsupported for some time 2014-09-20 20:37:35 +00:00
Makefile.w64 remove SDL_net support which had been unsupported for some time 2014-09-20 20:37:35 +00:00
mathlib.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
mathlib.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
menu.c in_sdl.c, key.c: Fixes agreed on with Sander: 2014-10-14 03:30:44 +00:00
menu.h Rename some (recently added) functions. 2014-10-08 18:30:17 +00:00
modelgen.h bspfile.h, cdaudio.h, client.h, cmd.h, common.h, console.h, crc.h, cvar.h, 2010-02-21 00:01:08 +00:00
net.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_bsd.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_defs.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_dgrm.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_dgrm.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_loop.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_loop.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_main.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_sys.h sync a few minor stuff with uhexen2 svn 2014-10-30 18:00:06 +00:00
net_udp.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_udp.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_win.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_wins.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_wins.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_wipx.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
net_wipx.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
pl_linux.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
pl_osx.m copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
pl_win.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
platform.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
pr_cmds.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
pr_comp.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
pr_edict.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
pr_exec.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
progdefs.h bspfile.h, cdaudio.h, client.h, cmd.h, common.h, console.h, crc.h, cvar.h, 2010-02-21 00:01:08 +00:00
progdefs.q1 initial import of SDL port of Fitzquake-0.85 / 20090510 sources. 2010-02-15 23:26:55 +00:00
progs.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
protocol.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
q_ctype.h replace all ctype.h functions/macros and strcasecmp/strncasecmp() 2013-09-25 17:01:40 +00:00
q_sound.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
q_stdinc.h a few more minor stuff from uhexen2 svn 2014-10-31 13:03:20 +00:00
qs_bmp.h Simplify the linux icon transparency setting. 2012-09-25 03:07:33 +00:00
quakedef.h add new numcpus field to the quakeparms structure and detect it during Sys_Init time 2014-11-03 09:10:18 +00:00
quakespasm.pak quakespasm.pak: Another z-fighting workaround. 2014-11-02 20:06:35 +00:00
r_alias.c Alias model rendering fast-path using OpenGL 2. 2015-01-20 18:59:15 +00:00
r_brush.c Alias model rendering fast-path using OpenGL 2. 2015-01-20 18:59:15 +00:00
r_part.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
r_sprite.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
r_world.c Alias model rendering fast-path using OpenGL 2. 2015-01-20 18:59:15 +00:00
render.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
resource.h bspfile.h, cdaudio.h, client.h, cmd.h, common.h, console.h, crc.h, cvar.h, 2010-02-21 00:01:08 +00:00
sbar.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
sbar.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
screen.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
server.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
snd_codec.c replace all ctype.h functions/macros and strcasecmp/strncasecmp() 2013-09-25 17:01:40 +00:00
snd_codec.h Merge several FS_* and snd_codec* layer updates from uhexen2 tree: 2013-09-25 11:01:12 +00:00
snd_codeci.h Merge several FS_* and snd_codec* layer updates from uhexen2 tree: 2013-09-25 11:01:12 +00:00
snd_dma.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
snd_flac.c Merge several FS_* and snd_codec* layer updates from uhexen2 tree: 2013-09-25 11:01:12 +00:00
snd_flac.h added flac music support. 2013-07-21 14:02:06 +00:00
snd_mem.c * snd_codec: store the samplebits value in the snd_info_t struct, 2013-07-22 11:41:14 +00:00
snd_mikmod.c snd_mikmod.c: compile-time sanity checks for libmikmod version. 2013-12-27 12:00:21 +00:00
snd_mikmod.h Merge several FS_* and snd_codec* layer updates from uhexen2 tree: 2013-09-25 11:01:12 +00:00
snd_mix.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
snd_modplug.c Merge several FS_* and snd_codec* layer updates from uhexen2 tree: 2013-09-25 11:01:12 +00:00
snd_modplug.h Merge several FS_* and snd_codec* layer updates from uhexen2 tree: 2013-09-25 11:01:12 +00:00
snd_mp3.c Merge several FS_* and snd_codec* layer updates from uhexen2 tree: 2013-09-25 11:01:12 +00:00
snd_mp3.h * snd_mpg123.c: added new codec for mp3 playback using libmpg123 as 2011-02-14 20:02:52 +00:00
snd_mpg123.c Merge several FS_* and snd_codec* layer updates from uhexen2 tree: 2013-09-25 11:01:12 +00:00
snd_opus.c Merge several FS_* and snd_codec* layer updates from uhexen2 tree: 2013-09-25 11:01:12 +00:00
snd_opus.h merged the opus codec support patch 2013-07-18 07:03:11 +00:00
snd_sdl.c sdl: Make our error checking for SDL_Init(SubSystem) consistent with the SDL wiki/test programs. 2014-10-18 16:33:01 +00:00
snd_umx.c snd_umx: minor update from umr. minor correction to fshandle offset. 2014-02-11 20:00:35 +00:00
snd_umx.h Merge several FS_* and snd_codec* layer updates from uhexen2 tree: 2013-09-25 11:01:12 +00:00
snd_vorbis.c sync a few minor stuff with uhexen2 svn 2014-10-30 18:00:06 +00:00
snd_vorbis.h some codec stuff syncing with uhexen2 2013-02-27 16:50:25 +00:00
snd_wave.c Merge several FS_* and snd_codec* layer updates from uhexen2 tree: 2013-09-25 11:01:12 +00:00
snd_wave.h Backported external music files support using decoder libraries and the 2011-01-05 19:50:43 +00:00
spritegn.h bspfile.h, cdaudio.h, client.h, cmd.h, common.h, console.h, crc.h, cvar.h, 2010-02-21 00:01:08 +00:00
strl_fn.h added strlcat.c and strlcpy.c: will use them later. 2011-12-27 11:03:39 +00:00
strlcat.c added strlcat.c and strlcpy.c: will use them later. 2011-12-27 11:03:39 +00:00
strlcpy.c added strlcat.c and strlcpy.c: will use them later. 2011-12-27 11:03:39 +00:00
sv_main.c sv_main: Second part of fixing the MAX_ENT_LEAFS issue (after bumping MAX_ENT_LEAFS to 32 in r967). 2014-09-28 19:02:27 +00:00
sv_move.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
sv_phys.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
sv_user.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
sys.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
sys_sdl_unix.c add new numcpus field to the quakeparms structure and detect it during Sys_Init time 2014-11-03 09:10:18 +00:00
sys_sdl_win.c add new numcpus field to the quakeparms structure and detect it during Sys_Init time 2014-11-03 09:10:18 +00:00
vid.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
view.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
view.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
wad.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
wad.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
world.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
world.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
wsaerror.h * arch_def.h, net_sys.h, wsaerror.h: New headers, adapted from uhexen2. 2010-06-21 10:55:21 +00:00
zone.c copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00
zone.h copyright years, general tidy-up, remove unused d_ifacea.h. 2014-09-22 08:55:46 +00:00