Christoph Oelckers
1f0c69a0e9
- some cleanup after GL 2.x code removal
...
- reinstated burn warp with shader based code.
2014-06-21 16:41:45 +02:00
Christoph Oelckers
2925c96b59
removed all GL 2.x code.
...
After thinking about it for a day or so I believe it's the best option to remove all compatibility code because it's a major obstacle for a transition to a core profile.
2014-06-21 15:50:32 +02:00
Christoph Oelckers
d5dceb6874
- changed alpha texture handling to avoid using the deprecated GL_ALPHA8 texture format unless we have a compatibility context of an older GL version.
2014-06-21 12:52:19 +02:00
Christoph Oelckers
ca76c2525e
- more vertex buffer stuff for models, still not tested.
2014-06-19 22:24:33 +02:00
Christoph Oelckers
5944894138
- create vertex buffer data for MD2/DMD models.
2014-06-19 17:06:26 +02:00
Christoph Oelckers
3e9b9c280b
- initialize model data at engine start, not at level start.
2014-06-19 15:22:00 +02:00
Christoph Oelckers
412d6499d9
- removed the voxel vertex buffer because it needs to be gone before implementing a model vertex buffer.
2014-06-19 14:46:55 +02:00
Christoph Oelckers
03916d75de
- cleaned up MD3 rendering and merged RenderFrame and RenderFrameInterpolated into one function.
2014-06-19 13:58:49 +02:00
Christoph Oelckers
59522f7065
- simplified MD2 drawing code as preparation for a buffer based implementation.
2014-06-19 13:37:30 +02:00
Christoph Oelckers
965a2a2d79
definition for model vertex buffer.
2014-06-15 21:56:37 +02:00
Christoph Oelckers
e6f14b055a
- use buffer based rendering for dynamic light pass and horizon portals.
2014-06-15 20:28:23 +02:00
Christoph Oelckers
1aaa1b7bad
- removed gl_usevbo CVAR because with recent code changes it has become useless. If GL_ARB_buffer_storage is present, buffers will always be used.
2014-06-15 12:12:24 +02:00
Christoph Oelckers
ea332383a8
- convert skybox rendering to use the buffer interface.
2014-06-15 11:50:54 +02:00
Christoph Oelckers
6b038a5dae
- fixed: GLPortal::DrawPortalStencil must apply the render state before drawing anything.
2014-06-15 10:30:03 +02:00
Christoph Oelckers
2abf1644a4
- fixed: Plane height changes only updated the first buffered vertex for the respective plane.
2014-06-15 10:18:46 +02:00
Christoph Oelckers
1b91a8f88c
- removed old immediate mode path for generating stencils.
2014-06-15 10:15:44 +02:00
Christoph Oelckers
3644073bbd
- use a software buffer for immediate mode rendering. This allows using the regular buffer code to collect data for both render modes and allows removal of a lot of duplicated code.
2014-06-15 01:14:41 +02:00
Christoph Oelckers
5b302ed3a6
- added benchmarking calls for glDrawArrays to see how well issunig draw calls performs on different hardware.
2014-06-14 15:16:33 +02:00
Christoph Oelckers
0ce6b40672
- fixed compile error in gl_skydome.cpp
...
- disable GL_ARB_buffer_storage when a -glversion parameter less than 4.0 is given. According to the spec this extension requires 4.0 so if emulating something lower it should not be used.
2014-06-14 14:58:17 +02:00
Christoph Oelckers
5e22c82e79
- use buffer for rendering the sky on all GL versions since the differences for making GL2.0 work are rather small.
2014-06-14 10:38:30 +02:00
Christoph Oelckers
8d9a90cd22
- rewrote sky dome rendering to use a static vertex buffer if not on OpenGL 2.x.
2014-06-14 01:24:28 +02:00
Christoph Oelckers
2ad47935ef
Merge branch 'master' into Glew_Version_For_Real
2014-06-01 12:43:17 +02:00
alexey.lysiuk
a26fbc74f0
Fix compilation errors in latest texture-related changes
...
GCC and Clang complain about non-POD type passed to variadic function.
2014-06-01 10:27:16 +03:00
Christoph Oelckers
d925279bef
- fixed texture name handling in GL related texture classes for recent changes in ZDoom to eliminate the 8 character name limit.
2014-06-01 00:04:28 +02:00
Christoph Oelckers
c39318f406
- use vertex buffer and reuse of data for stencil drawing. A stencil needs to be drawn multiple times with the same polygons so this is a good place to optimize.
2014-05-31 09:32:17 +02:00
Christoph Oelckers
a1ec6ab1ba
- fixed some Linux warnings.
2014-05-24 16:53:57 +02:00
Christoph Oelckers
e813ddf251
- fixed bad comparison.
2014-05-24 16:47:34 +02:00
Christoph Oelckers
54425ee2ef
- fixed: Desaturation factor was applied incorrectly.
...
- Also fixed some very strange thing in the shader's desaturate function. For unknown reasons using the 'mix' function there did not work.
- fixed: The fog boundary special shader could not be used.
2014-05-21 13:40:46 +02:00
Christoph Oelckers
0cf37f2e51
- fixed problem with selecting special shaders.
2014-05-21 12:36:29 +02:00
Christoph Oelckers
f5ea31b518
- use vertex buffer for all the common 2D rendering functions.
2014-05-21 00:36:04 +02:00
Christoph Oelckers
09ba62fbef
- put all the common part of buffer based drawing into a separate method of the vertex buffer.
2014-05-20 22:37:38 +02:00
Christoph Oelckers
23fbd69963
- 4 more places where immediate mode drawing has been substituted with a buffer-based alternative.
2014-05-20 22:20:15 +02:00
Christoph Oelckers
6e6be8ed5b
Merge branch 'master' into Glew_Version_For_Real
2014-05-18 12:47:48 +02:00
Christoph Oelckers
03d4f23a6e
- made adjustments to the texture loading code to account for the recent changes to handle long texture names.
2014-05-15 19:27:22 +02:00
Christoph Oelckers
60f0ab5f1b
- fixed Linux warning with type cast.
2014-05-13 12:00:11 +02:00
Christoph Oelckers
579eff5b96
- add vertex buffer based rendering for decals.
2014-05-12 22:46:30 +02:00
Christoph Oelckers
cf45f2d718
- added missing shader files.
2014-05-12 22:24:26 +02:00
Christoph Oelckers
b514a815f4
- enable use of vertex buffer for sprite rendering.
2014-05-12 20:23:54 +02:00
Christoph Oelckers
9c659b948c
- reactivated texture warping.
2014-05-12 15:13:07 +02:00
Christoph Oelckers
55d4c89753
- fixed: fog density calculation for fixed function was not correct.
2014-05-12 14:58:37 +02:00
Christoph Oelckers
4d005bdfa0
shader rework
...
All those special shaders have been merged together.
Mostly working but the non-shader lighting seems a bit broken.
2014-05-12 14:45:41 +02:00
Christoph Oelckers
98cc7eeb99
pass softlightlevel through render state.
2014-05-12 00:13:19 +02:00
Christoph Oelckers
b9a6fe80a4
Do not use the shader to handle STYLEF_RedIsAlpha.
...
Turns out that the name doesn't accurately describe what it does.
It is correct for images that come with their own palette or are true color.
But for images using the game palette it doesn't use the red channel to determine translucency but the palette index! Ugh...
This means it cannot be done with a simple operation in the shader because it won't get a proper source image. The only solution is to create a separate texture.
2014-05-11 23:56:53 +02:00
Christoph Oelckers
506798f134
allow brightmaps and fullbright objects in fog. The reasons why they were disabled no longer exist.
2014-05-11 23:12:28 +02:00
Christoph Oelckers
c47c7421a3
- route all glColor calls through render state.
...
- add sector links to dynamic lights.
2014-05-11 22:57:42 +02:00
Christoph Oelckers
978ace241c
- removed all code that mixes together the different lighting methods. Now everything goes through the 3 different light parameters in the render state.
...
- removed cm parameter from many functions.
2014-05-11 21:47:54 +02:00
Christoph Oelckers
887d35d559
- remove colormap from texture generation parameters. The one remaining special case, alpha texture on old hardware is now handled by the currently set texture mode at the time of use.
...
- use the cleaned up decal lighting code from the first GLEW branch.
2014-05-11 19:44:19 +02:00
Christoph Oelckers
7793bbbcc9
Further cleanup of lighting code.
...
- remove thing color from lighting calculations.
- implement alpha textures and inverse sprites for infrared as texture modes. This still requires some handling for the alpha texture mode for non-shader rendering because there is no way in the fixed pipeline to do it. The inverted texture effect can be done with a texture combiner.
- fixed: ThingColor for sprites was set in the wrong place. It must be in the Process function, not in the lighting calculation.
- added functions for isolated calculation of sprites' dynlight color.
2014-05-11 17:56:38 +02:00
Christoph Oelckers
607be91c48
- bad copy.
2014-05-11 16:54:11 +02:00
Christoph Oelckers
8ae97bc3e1
-looks like we still need this...
2014-05-11 16:51:33 +02:00