Eric Wasylishen
90b26fc215
r_world: Add a new R_DrawTextureChains_Multitexture_VBO function. Draws lightmapped surfaces with fulbrights in one pass, using the VBO. Requires 3 TMUs, GL_COMBINE_EXT, and GL_ADD.
...
R_DrawTextureChains_Multitexture: revert to the way it was before VBO support was added.
gl_texmgr: expose GL_SelectTexture. make the implementation less convoluted and support 3 TMUs.
gl_vidsdl: check GL_MAX_TEXTURE_UNITS
r_brush: only create VBOs if 3 TMUs available
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1035 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 01:08:13 +00:00
Ozkan Sezer
ad2905b5e4
bumped version to 0.90.0
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1033 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-16 09:05:36 +00:00
Sander van Dijk
a5e4a93cf0
gl_vidsdl.c: Minor VID_Toggle() fast path optimization.
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1026 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-13 01:48:24 +00:00
Eric Wasylishen
e0680cb6d3
Load world and brush models into a VBO, and draw it in batches in R_DrawTextureChains_Multitexture. Uses the same immediate mode code as before if VBOs are not available, or if "-novbo" used at the command line. I only touched R_DrawTextureChains_Multitexture because it's usually the main bottleneck aside from alias model rendering.
...
This seems to help fps a fair bit on maps with a lot of world polys like jam2_tronyn. Tried on a few computers with intel and nvidia gpus, windows, mac os, linux, and there's always at least some fps improvement. Best case was 70fps -> 96fps on jam2_tronyn, on OS X + nvidia 650gt.
Interested to hear how this works for amd gpu's, just do a timedemo with and without "-novbo".
Only downside is I had to disable the fast path in Vid_Toggle_f() because at least with SDL1, the vbo no longer works after a toggle. So as a result, fullscreen toggles with alt-enter are slightly slower.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1018 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-11 04:55:16 +00:00
Eric Wasylishen
24f4a2dab4
SDL2 support, if USE_SDL2 defined.
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@987 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-05 19:34:43 +00:00
Ozkan Sezer
b8fc8caa0f
dropped support for GL_SGIS_multitexture
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@984 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 08:00:34 +00:00
Eric Wasylishen
b9d280f10b
Revert r981 "Simple use of vertex arrays in R_DrawTextureChains_Multitexture."
...
It caused a dramatic slowdown on my machine on windows (50% slower)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@983 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 06:30:49 +00:00
Eric Wasylishen
bdca64b93b
Silence warning about vid_fsaa requiring restart when parsing config.cfg at startup. Add missing newline to warning message.
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@982 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 03:22:36 +00:00
Eric Wasylishen
745fa7ecce
Simple use of vertex arrays in R_DrawTextureChains_Multitexture.
...
The glBegin(GL_POLYGON), for() loop with GL_MTexCoord2fFunc()/glVertex3fv() calls, and glEnd () per polygon is replaced by a memcpy() and a glDrawArrays() call per poly.
My guess is this only saves function call overhead, but it gives a decent ~20% speedup (36 -> 42fps) on my machine on orl’s map.
Note: glDrawArrays() is in OpenGL 1.1, but the glClientActiveTextureARB function is part of the GL_ARB_multitexture extension but not GL_SGIS_multitexture. Instead of splitting into two code paths, I just dropped support for GL_SGIS_multitexture.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@981 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 03:22:26 +00:00
Eric Wasylishen
fb31319099
new fsaa support patch. commandline flag is -fsaa, cvar is vid_fsaa. cvar is only read in VID_Init, changing it prints a message that the new value will only be used upon restart
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@966 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-12 19:39:20 +00:00
Eric Wasylishen
7cca17afaa
revert r962 and r963 (first attempt at multisampling)
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@965 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-12 19:25:14 +00:00
Eric Wasylishen
5f7e61ecd4
cleanup fsaa patch, from szo. removes sdl version checks because qs requires sdl >= 1.2.10
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@963 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 08:08:15 +00:00
Eric Wasylishen
503db92edb
fsaa support, borrowing from uhexen2. cvar is vid_multisample, cmdline arg is -fsaa (inconsistent..)
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@962 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 06:58:42 +00:00
Ozkan Sezer
90c6f024f6
request 24-bit depth buffer / z-buffer. patch from Eric Wasylishen.
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@935 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-15 07:03:56 +00:00
Ozkan Sezer
75338a37a1
support for GL_ARB_texture_non_power_of_two, patch from Eric Wasylishen.
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@931 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-11 06:56:09 +00:00
Ozkan Sezer
e27c101a08
gl_vidsdl.c: small gamma update.
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@863 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-07-25 09:41:28 +00:00
Ozkan Sezer
50ed45c9b1
gl_vidsdl.c: use SDL_SetGamma() instead of SDL's GammaRamps api.
...
see: http://hg.libsdl.org/SDL/rev/3665bc284271
http://bugzilla.libsdl.org/show_bug.cgi?id=1979
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@861 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-07-24 07:00:44 +00:00
Sander van Dijk
d3676574df
gl_vidsdl.c: minor cleanup (lets not hijack the SDL_ prefix)
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@840 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-03 15:01:14 +00:00
Sander van Dijk
bd5b2ae556
gl_vidsdl.c: some video menu code readability tweaking
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@839 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-03 13:43:11 +00:00
Sander van Dijk
1c59d663ad
gl_vidsdl.c: be bit more lenient (and safer) regarding bpp
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@836 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 18:10:19 +00:00
Sander van Dijk
e2ea2d2360
gl_vidsdl.c: fix a minor inconsistency in VID_Toggle
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@835 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 16:35:48 +00:00
Sander van Dijk
78900118f3
gl_vidsdl.c: make the intel hack feedback a bit more informative
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@834 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 15:32:27 +00:00
Sander van Dijk
f02120cc7f
gl_vidsdl.c: remove the PowerVR stuff, as it seems to be outdated
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@833 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 13:46:59 +00:00
Sander van Dijk
d245a15fe2
oops
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@832 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 13:13:47 +00:00
Sander van Dijk
f26daa58c2
Simplify the Intel video hack, make the PowerVR hack do the same
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@831 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 13:10:02 +00:00
Sander van Dijk
3d7a0fd66a
revert r612, fix VID_Test blackscreen properly
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@826 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 09:34:18 +00:00
Ozkan Sezer
47b044893e
putenv () may conform to different standards, therefore keep the vid_center[]
...
static char array in VID_Init ().
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@822 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 17:15:04 +00:00
Sander van Dijk
a6b83f69ce
gl_vidsdl.c: make bpp default to current bpp
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@821 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 16:28:28 +00:00
Sander van Dijk
7ae0a9e7f2
gl_vidsdl.c: fix an initialization oops
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@820 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 13:46:19 +00:00
Sander van Dijk
8dfabe4e7f
gl_vidsdl.c, vid.h: cleanup some modestate related stuff (requires a clean build)
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@819 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 13:42:23 +00:00
Sander van Dijk
3aa34cba34
gl_vidsdl.c: remove modelist[0] special treatment, some cleanup
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@818 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 13:33:30 +00:00
Sander van Dijk
9f59c863f1
gl_vidsdl.c: make VID_Init independent from modelist
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@817 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 13:23:26 +00:00
Sander van Dijk
8872f4df63
gl_vidsdl.c: some cleanup
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@816 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-21 19:35:21 +00:00
Sander van Dijk
ca18412bac
gl_vidsdl.c: fix ValidMode(), bpp < 16 is problematic on windows
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@815 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-21 19:17:18 +00:00
Sander van Dijk
00a3f7659b
gl_vidsdl.c: make VID_Restart independent from modelist
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@812 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-19 19:20:17 +00:00
Sander van Dijk
88b0694432
gl_vidsdl.c: make VID_Test independent from modelist
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@811 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-19 19:00:19 +00:00
Sander van Dijk
5c09de09ee
gl_vidsdl.c: some cleanup
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@810 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-19 18:18:38 +00:00
Sander van Dijk
dd40be29eb
gl_vidsdl.c: make VID_SetMode independent from "modelist"
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@809 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-18 19:19:32 +00:00
Sander van Dijk
083c27abce
gl_vidsdl.c: don't depend on "modelist" for current mode info
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@808 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-17 18:12:00 +00:00
Sander van Dijk
0a7c6f77de
gl_vidsdl.c: get rid of "modenum"
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@807 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-17 17:58:05 +00:00
Sander van Dijk
64f3091f05
rename the modestate_t enum items
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@805 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-13 19:07:19 +00:00
Sander van Dijk
103f041614
remove "type" from "viddef_t", use "modestate" instead
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@804 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-13 19:01:26 +00:00
Sander van Dijk
ea0b236563
gl_vidsdl.c: remove "modenum" from vmode_t
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@803 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-11 18:13:09 +00:00
Sander van Dijk
148386cc03
gl_vidsdl.c: remove "modedesc" from vmode_t
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@802 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-11 18:03:14 +00:00
Sander van Dijk
a958e33054
gl_vidsdl.c: get rid of obsolete "badmode"
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@801 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-10 17:30:40 +00:00
Sander van Dijk
ba5c538d27
gl_vidsdl.c: Simplification of some functions
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@800 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-09 16:10:23 +00:00
Sander van Dijk
dbaa3fec52
gl_vidsdl.c: Remove "halfscreen" stuff.
...
AFAICS this is not needed for SDL, and it in fact
breaks weird widescreen resolutions such as 1280x600.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@798 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-01 20:44:25 +00:00
Sander van Dijk
d91f083ee4
Remove more dead code.
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@790 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-28 19:10:52 +00:00
Sander van Dijk
011ca12117
gl_vidsdl.c: Remove some dead code.
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@789 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-22 18:58:45 +00:00
Sander van Dijk
7b155bc6cc
Really fix vsync saving/loading (finally...)
...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@787 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-11 17:35:43 +00:00