Christoph Oelckers
e5f88a9883
- fixed: The textured automap was not using correct light levels.
...
In order for the externally passed vertex attribute to work the buffer's color attrib array needs to be disabled for these.
2016-08-08 16:18:07 +02:00
Christoph Oelckers
675822004d
- use static buffer data and a uniform to handle the texture positioning of the present shader.
...
That's again one less write access to the buffer. The uniform method was chosen because this way a buffer update can be completely avoided, and setting a single uniform is a lot cheaper and simpler to handle.
2016-08-08 16:06:02 +02:00
Christoph Oelckers
8daaf61160
- predefine the vertex data for the blend overlay which will never change throughout the lifetime of the GLRenderer object.
2016-08-08 14:24:48 +02:00
Christoph Oelckers
def3ad7533
- refactored all 2D drawing to use its own vertex buffer which does not need to be mapped permanently.
2016-08-08 12:13:09 +02:00
Christoph Oelckers
04c59b434b
- renamed WipeVertexBuffer to FSimpleVertexBuffer because this will be useful elsewhere, too.
2016-08-07 00:40:31 +02:00
Christoph Oelckers
8f0629932d
- ImmRenderBuffer is not needed anymore.
2016-08-06 14:29:21 +02:00
Christoph Oelckers
6a66d0255d
- use a dedicated vertex buffer for rendering the wipes.
...
- fixed: The postprocessing shaders clobbered the render state's vertex buffer info by bypassing and not notifying it of the change.
2016-08-06 14:12:40 +02:00
Christoph Oelckers
2e555e6dab
- use client arrays on compatibility profiles instead of calling glBegin/glEnd.
...
This eliminates most behavioral differences for FFlatVertexBuffer between both operating modes, now the only difference is where the buffer is located.
2016-08-06 12:03:16 +02:00
Christoph Oelckers
13a2bf57e5
- fixed vertex coordinate ordering for the sky cubemap.
...
This was done differently for FFlatVertex and FSkyVertex which caused a switch of the y and z coordinates for the skybox image.
2016-08-06 11:47:03 +02:00
Christoph Oelckers
7ba6269450
- changed rendering of sky cubemaps to use precalculated vertex data from the SkyVertexBuffer.
2016-08-04 12:16:53 +02:00
Magnus Norddahl
7709db4bb0
Fix broken viewport/backbuffer location for WriteSavePic
2016-07-31 16:23:21 +02:00
Christoph Oelckers
da1762ac2c
- fixed: DoSetMapSection could cause a stack overflow on large maps. Made it iterative instead of recursive to avoid that.
2016-07-27 16:27:40 +02:00
Christoph Oelckers
c5db5dff99
- fixed a crash when initializing the GL portal data for an incomplete or inactive portal. Also did a bit of cleanup on this code, the 'delta' member was never used.
2016-07-16 12:45:49 +02:00
Christoph Oelckers
17c212d5bc
- disable transparent door render hacks if any of the involved sectors contains floor slopes.
...
These lead to false positives but rarely represent actual hacks.
2016-06-29 12:19:00 +02:00
Christoph Oelckers
4d7be0e20e
- added software interpolation as a fallback for models.
...
This is not tested yet so no guarantees!
2016-05-03 13:10:00 +02:00
Christoph Oelckers
4fb17561bc
- optimize VSMatrix::Translate.
...
- use FVector3 for sprite rotations.
2016-05-01 12:39:08 +02:00
Christoph Oelckers
d84e079282
- render partial sprites oon the back side of a portal for actors in front of it. This is needed because the stencil will clip away those parts.
2016-04-30 16:57:53 +02:00
Christoph Oelckers
434e39e62f
- made adjustments to ZDoom's last changes.
2016-04-28 17:55:58 +02:00
Christoph Oelckers
09f54b0940
- cleaned up the clip plane management for portals.
...
Unfortunately the math behind the old clip planes is utterly impenetrable and so poorly documented that I have no idea how to set that up, so it is deactivated for now. It wasn't working anyway.
2016-04-27 00:41:00 +02:00
Christoph Oelckers
eb27057853
- enable shader-less rendering. Still very incomplete, but at least the basics are working.
2016-04-26 16:44:03 +02:00
Christoph Oelckers
3b1500438d
- got rid of VAO's. they have no impact on performance and are a general nuisance if some render paths cannot use them.
...
- cleaned up gl_interface and removed gl.compatibility.
2016-04-26 16:26:34 +02:00
Christoph Oelckers
f066457a48
- add shader patching to allow running the engine with GLSL 1.2.
...
- made some initial preparations for the shader-less fallback path.
2016-04-26 15:26:52 +02:00
Christoph Oelckers
f77c4642cb
- made the adjustments.
2016-04-24 13:35:43 +02:00
Christoph Oelckers
1c7b512cc0
- GL handling of new portal data organization.
...
This also fixes some oversights with plane and horizon portals which were included in several checks.
2016-04-20 20:08:53 +02:00
Christoph Oelckers
1f32f5a258
- some minor fixing and cleanup on gL portal code.
2016-04-20 11:39:41 +02:00
Christoph Oelckers
95de1faa80
- fixed: The portal coverage builder initialized node_t::len differently than the polyobject splitter.
...
This was creating quite a mess when loading savegames with both portals and polyobjects.
2016-04-17 01:16:46 +02:00
Christoph Oelckers
bf2b61f61c
- removed remaining STACK_ARGS from GL code.
2016-04-11 10:55:09 +02:00
Christoph Oelckers
25d7eaed0a
- fixed parentheses in ADynamicLight::DistToSeg.
...
- floatifed OpenGL sector grouping.
- optimized light node collection. It should not create light nodes for out of range segs.
2016-04-08 12:38:09 +02:00
Christoph Oelckers
4d5671d654
- floatified the texture coordinate code.
2016-04-08 01:42:43 +02:00
Christoph Oelckers
5a2eac8f15
- floatified vertices and removed the now redundant fx and fy members. This needs an added check for polyobject origins, though, so that such subsectors don't get rendered.
2016-04-03 11:40:14 +02:00
Christoph Oelckers
af78937a15
- updated GL renderer.
2016-04-02 23:17:16 +02:00
Christoph Oelckers
cf44d2e37a
- adjustments.
2016-03-30 20:01:44 +02:00
Christoph Oelckers
cadd8f2d4a
- made adjustments for changes to linedef delta.
2016-03-29 16:31:58 +02:00
Christoph Oelckers
59bb003285
- GL adjustments for plane changes.
2016-03-29 13:45:50 +02:00
Christoph Oelckers
a87c292f10
- adjustments to GL code for texture scale and vertex coordinate access.
2016-03-29 11:26:33 +02:00
Christoph Oelckers
b54b34a512
- adjustments for floating point changes.
2016-03-21 02:57:02 +01:00
Christoph Oelckers
dbd89c2702
- refactoring of portal grouping for the renderer, to allow more efficient clipping.
2016-03-04 14:10:13 +01:00
Christoph Oelckers
bd67f3b3e5
- added skybox cast for GL code.
2016-02-20 02:20:43 +01:00
Christoph Oelckers
bd9907f20f
- missing #includes in GL code.
2016-02-16 22:06:26 +01:00
Christoph Oelckers
dda73b531c
Merge branch 'master' of https://github.com/rheit/zdoom
...
# Conflicts:
# src/CMakeLists.txt
# src/p_setup.cpp
# src/r_defs.h
# src/version.h
This only updates to a compileable state. The new portals are not yet functional in the hardware renderer because they require some refactoring in the data management first.
2016-02-05 12:31:41 +01:00
Christoph Oelckers
9305cd86a0
- remove the GLWallLightEntry type. Everything it contains can be retrieved from the existing lightlist just as easily, and this approach avoids a lot of memory allocations.
...
- removed the SplitWall profiling timer because all it measures now is an almost empty function.
2016-02-01 01:03:34 +01:00
Christoph Oelckers
71da7406bd
- since we no longer split walls at 3D floor boundaries, those planes no longer need to be added to the vertex height lists.
2016-02-01 00:42:37 +01:00
Christoph Oelckers
5816049510
- made necessary adjustments for the coordinate refactoring in ZDoom.
2016-01-21 12:36:37 +01:00
Christoph Oelckers
cd778b6bdc
- fixed CollectPortalSectors
2016-01-13 00:15:04 +01:00
Christoph Oelckers
df6ffe6418
- adjustments for recent ZDoom changes.
2015-04-16 22:50:26 +02:00
Christoph Oelckers
a8398e70b0
- fixed: The brightfog flag in the GL related map settings was never initialized.
...
- fixed: brightfog should not disable colored lighting for the weapon sprite.
2014-12-31 23:01:06 +01:00
Christoph Oelckers
315827015c
- made aspect ratio correction factor configurable through MAPINFO.
2014-12-29 23:52:20 +01:00
Christoph Oelckers
e5cd90f323
- use separate vertex buffers per model to avoid large memory usage peaks. Also delete the geometry data for the models once it has been copied into the vertex buffer.
2014-10-24 11:43:25 +02:00
Christoph Oelckers
618c23303f
- fixed: The interpolation factor for models was never passed to the shader.
2014-10-23 09:57:27 +02:00
Christoph Oelckers
92dcf2e5ef
- fixed some of those supremely annoying and supremely pointless GCC/Clang compiler warnings.
2014-09-17 11:03:05 +02:00