Christoph Oelckers
4ab8ca63ce
- use more desctiptive names for the predefined vertex buffer indices.
2016-08-25 22:23:31 +02:00
alexey.lysiuk
52b51e79b9
Fixed missing decals in compatibility renderer
...
The problem was appeared in conjunction with dynamic lights only
See http://forum.zdoom.org/viewtopic.php?f=4&t=19321&start=405#p932733
2016-08-24 10:27:14 +03:00
alexey.lysiuk
a185886924
Added compatibility handling for fog and dynamic lights used together
...
See http://forum.drdteam.org/viewtopic.php?t=7063
2016-08-24 10:26:11 +03:00
Christoph Oelckers
b946114145
- removed unused variable.
2016-08-22 22:00:45 +02:00
Christoph Oelckers
7ba5acfb35
- added quad drawer interface so that this part can be done without altering a vertex buffer.
...
So far it's only the framework, the new code is not active yet.
2016-08-22 14:00:25 +02:00
Magnus Norddahl
302f59ea33
Fix r_clearbuffer color not being used
2016-08-22 01:52:51 +02:00
Magnus Norddahl
5eeac830eb
Clear and InvalidateFramebuffer optimization
2016-08-17 17:37:13 +02:00
Christoph Oelckers
e03696a6c9
- fixed: The model matrix must be disabled right after rendering the sky dome, so that it won't get used for the skyfog layer.
2016-08-14 20:11:46 +02:00
Christoph Oelckers
4e8a96aa0e
- removed FRenderState::set2DMode because it had no effect. This looks like development garbage from old times.
2016-08-14 09:14:26 +02:00
Magnus Norddahl
210fce1193
Fix bloom shader missing its target
2016-08-14 09:05:50 +02:00
Magnus Norddahl
c817979eae
Remove GetTrueHeight from GL renderer and concentrate all viewport calculations in SetOutputViewport
2016-08-14 09:05:48 +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
9c9edbffdb
- on older ATI drivers where the clip planes are broken, only disable the clip planes themselves, but not OpenGL 3.x so that dynamic lights still work as intended.
...
- only disable clip planes on Windows, but not on Linux or macOS.
- If a driver reports full OpenGL 4.5 support, assume that all features are working properly.
2016-08-08 12:55:09 +02:00
alexey.lysiuk
9ab9548723
Additional fix for splitting of complex wall in compatibility renderer
...
warp 2720 -200 -32 on Extreme Terror
https://www.doomworld.com/idgames/levels/doom2/Ports/d-f/exterror
2016-08-08 12:19:37 +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
13527fdd0a
Merge branch 'lensshader' of https://github.com/dpjudas/zdoom
2016-08-05 00:58:14 +02:00
Christoph Oelckers
21536781a9
- forgot to save this.
2016-08-04 13:01:42 +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
6b9529d70f
Added lens distortion shader
2016-08-02 17:32:21 +02:00
Magnus Norddahl
e8c98a5901
No gamma and player sprites on screenshots
2016-07-31 16:56:41 +02:00
Magnus Norddahl
7709db4bb0
Fix broken viewport/backbuffer location for WriteSavePic
2016-07-31 16:23:21 +02:00
Magnus Norddahl
a6354c74cf
Fix incorrect viewport location when not using fullscreen HUD
2016-07-31 13:23:49 +02:00
Magnus Norddahl
cfc20d1198
Added multisample support to FGLRenderBuffers and added gl_multisample to the menus
2016-07-30 15:33:30 +02:00
Major Cooke
36705b0f04
Added GZDoom version of SpriteAngle and SpriteRotation.
2016-07-30 00:33:33 +02:00
Magnus Norddahl
9bfce5b6ea
Moved post processing effects to its own file
2016-07-30 00:02:26 +02:00
Magnus Norddahl
5849c83028
Added bloom and tonemap to menus
...
Added gl_renderbuffers CVAR that disables render buffers
Added patch shader support to FShaderProgram
Added OpenGL 2 fallback support to render buffers
2016-07-29 21:31:20 +02:00
Magnus Norddahl
0efee85bd8
Added tonemapping and sector based exposure control
2016-07-29 00:36:43 +02:00
Magnus Norddahl
69f52cc898
Added bloom shaders
2016-07-27 21:50:30 +02:00
Magnus Norddahl
aeb7df09de
Added hardware gamma option and improved window handling on Windows
2016-07-27 11:15:19 +02:00
Christoph Oelckers
071485b22e
- fixed: If the resulting render style, after all adjustments, is None for the weapon sprite, do not attempt to draw it at all.
2016-07-25 11:55:47 +02:00
Christoph Oelckers
54a120d612
- do not process subsectors if rendering a stacked sector portal and the clipper is set to 'blocked', i.e. no visible parts are present.
...
This solves the most severe occurences of sprites being drawn in front of a portal's contents. It is not a full fix, though, there's still some extreme cases where portals may glitch if some stuff gets between the camera and the actual portal area.
Normally this has to perform a full check of the subsector against the portal's camera-facing linedefs but that's too costly for those rare cases where it may be an issue.
2016-07-23 10:23:34 +02:00
Christoph Oelckers
d405cf5b7c
- fixed: Before rendering a sector stack portal the clipper needs to be completely filled, if the view point's subsector is not inside the portal. If this is not done, some setups where a recursive look into the originating area is possible may exhibit some issues.
2016-07-23 09:47:14 +02:00
MajorCooke
35666f1e09
Fixed a nullptr crash with flatsprite actors.
2016-07-21 13:12:59 -05: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
Jordon Moss
6014bde3d0
Renamed PushSpriteFrame to PushSpriteMDLFrame for consistency.
2016-07-16 09:30:26 +02:00
Jordon Moss
b3b2eb42c6
Added SurfaceSkin MODELDEF property, allows overriding MD3 per-surface skins.
2016-07-16 09:30:25 +02:00
Christoph Oelckers
f4b80a451e
- fixed: The render style specific blend settings were overridden when adding code to ensure proper setup of all properties.
...
It turned out that the only thing that wasn't set is the alpha function, not the blend settings themselves.
2016-07-16 08:57:48 +02:00
MajorCooke
e56196eb1a
Disable facing camera rotations if the actor is a flat/wall sprite.
...
- It not only looks bad, it also throws off users when trying to make perfectly aligned images since the plane is distorted wildly.
2016-07-13 09:31:22 +02:00
MajorCooke
cc8d84cd5d
Fixed sprites defaulting to rotate around the center instead of the offsets. Seeing how it's still useful however, ROLLCENTER can still be used to center upon actors that are offsetted like monsters.
2016-07-13 09:31:22 +02:00
Christoph Oelckers
6b0b7ea049
- fixed sprite z coordinate calculation for flatsprites.
2016-07-04 01:00:01 +02:00
Christoph Oelckers
cc784fff14
Merge branch 'rollGZ2' of https://github.com/MajorCooke/zdoom
2016-07-04 00:45:37 +02:00
alexey.lysiuk
924b8105c5
Fixed splitting of complex walls in compatibility renderer
...
Example: +warp 2720 -200 -32 on Extreme Terror
https://www.doomworld.com/idgames/levels/doom2/Ports/d-f/exterror
2016-06-29 12:34:35 +02:00
Christoph Oelckers
7b99c883e1
- use the exact same semantics and methods to handle player visibility as in the software renderer.
...
This fixes invisible player sprites in recursive line portals.
2016-06-18 12:14:20 +02:00
Christoph Oelckers
87d27b8db3
- fixed some crash issues with recent changes.
2016-06-18 10:01:24 +02:00
Christoph Oelckers
92e2ce2aef
- adjustments for weapon rendering in GL.
...
This adds support for the new weapon state code and fixed some lighting calculations.
Note that this currently will not allow combination of HUD models with other sprite frames yet.
2016-06-17 17:21:42 +02:00
Christoph Oelckers
8ca07443f1
- fixed: Sprite splitting at 3D floors must set the fog parameters for the new light level.
2016-06-17 16:16:31 +02:00
MajorCooke
b2d2389343
Fixed: Slanted flat + roll sprites didn't take DONTFLIP into account.
2016-06-05 15:51:23 -05:00
MajorCooke
e58c6de7d6
DONTFLIP flag prevents the backside from flipping over.
2016-06-05 15:14:40 -05:00
alexey.lysiuk
56ce6abbc2
Fixed splitting of walls in compatibility renderer
...
Any wall adjacent to 3D floor sector were not rendered at all
2016-06-05 12:38:23 +03:00
Christoph Oelckers
5017a192eb
- fixed: The texture matrix was not reset after drawing the texture pass for multipass textured dynamic lights.
2016-05-19 12:22:39 +02:00
Christoph Oelckers
13da14e915
- disable dynamic lights on additively blended surfaces because it doesn't look good at all.
2016-05-18 22:20:18 +02:00
Christoph Oelckers
15c711f2a1
- added a missing break in the wall draw dispatcher.
2016-05-09 00:58:55 +02:00
Christoph Oelckers
d5eb1008a4
- implemented texture overlay pass for textured dynamic lights.
2016-05-08 22:07:18 +02:00
Christoph Oelckers
6753cddce1
- fixed: The HUD weapon drawer partially took the render state from the previous things that got rendered. Especially the blend mode could be randomly set to different values.
2016-05-08 09:22:38 +02:00
Christoph Oelckers
d61ec05c0f
- draw texture based dynamic lights on walls.
2016-05-05 12:18:09 +02:00
Christoph Oelckers
2b92048a5b
- renamed the texture coord variables in GLWall.
...
It makes no sense having them organized differently in this struct than what the rendering code needs. This saves one redundant copy operation and a function-local static variable.
2016-05-05 11:48:39 +02:00
Christoph Oelckers
51baa7d137
- added code to calculate light texture coordinates on walls.
2016-05-05 11:32:21 +02:00
Christoph Oelckers
0b2821d696
- added dynamic light rendering with textures on flats
2016-05-05 10:28:21 +02:00
Christoph Oelckers
4412f99b38
- added the flat dispatcher for textured lighting.
2016-05-04 23:07:16 +02:00
Christoph Oelckers
ec7b4b1ba4
- initial work on textured dynamic light processing.
2016-05-04 22:14:39 +02:00
Christoph Oelckers
8817f89192
- do not clip the first frame of very slow projectiles.
2016-05-04 20:31:21 +02:00
Christoph Oelckers
ab8a647433
- fixed the disabled visibility rules check for dynamic lights by doing the actual check in the light's Tick() method and letting the renderer only use the result.
2016-05-04 11:33:18 +02:00
Christoph Oelckers
0a94371974
- reinstated old code for rendering fog boundaries and mirrot surfaces without shaders.
...
- added code for filling the render list for textured dynamic lights. This is not yet active because no code is present to handle this data.
2016-05-03 23:28:42 +02:00
Christoph Oelckers
0f8f08edfd
- fixed: camera facing sprites need to orient themselves toward the actual camera position, not the view actor (which may be invalid or in a completely different part of the map if a portal is being rendered.)
2016-05-03 19:24:28 +02:00
Christoph Oelckers
b6af4677f3
- implemented model precaching.
2016-05-03 18:14:16 +02:00
Christoph Oelckers
6f2b0a6293
- rewrote texture caching so that not the base texture but the actually used translations for sprites get precached.
2016-05-03 01:00:52 +02:00
Christoph Oelckers
ec037bfd1a
- fixed: The check for one-way portals in the renderer was incomplete.
2016-05-02 19:47:27 +02:00
MajorCooke
16bea6cf1f
- Fixed: Roll must orient the rotation based on pitch, not the other way around.
2016-05-02 10:46:44 -05:00
MajorCooke
9ec3093a34
Fixed some missed cases.
2016-05-02 08:52:44 -05:00
MajorCooke
673dab7f23
Removed PITCHFLATSPRITE. FLATSPRITE now encompasses the behavior.
2016-05-02 06:29:19 -05:00
MajorCooke
a163220e8c
Removed FlatAngle.
2016-05-01 17:30:30 -05:00
Christoph Oelckers
f2f3fa6d09
- parched the texture precaching so that it compiles and works again. The real work will come later.
2016-05-02 00:13:00 +02:00
MajorCooke
980a310755
GZDoom Roll Submission
2016-05-01 14:08:09 -05:00
Christoph Oelckers
26acf8e994
- fixed conditions for menu patching.
2016-05-01 17:43:30 +02:00
Christoph Oelckers
4fb17561bc
- optimize VSMatrix::Translate.
...
- use FVector3 for sprite rotations.
2016-05-01 12:39:08 +02:00
Christoph Oelckers
24526f7da5
- made adjustments to floating point bounding boxes for nodes and changes to the WarpBuffer function.
2016-05-01 11:56:45 +02:00
Christopher Bruns
6d95c9d544
Fix floating point update for camera facing billboard mode.
2016-04-30 18:15:29 -04:00
Christopher Bruns
5a33005303
Reorder two billboard rotations, so they work together correctly.
...
Fixes #126
# Conflicts:
# src/gl/scene/gl_sprite.cpp
2016-04-30 18:15:27 -04:00
Christopher Bruns
b320787102
Implement new CVAR gl_billboard_faces_camera, which orients sprites toward camera, rather than along view direction.
...
# Conflicts:
# gz3doom/GZ3DoomRiftMonitor1.bat
# src/gl/scene/gl_sprite.cpp
# src/gl/scene/gl_stereo3d.cpp
2016-04-30 18:15:27 -04:00
Christoph Oelckers
51991ef22d
* - render partial sprites on the front side of a portal for actors behind it.
2016-04-30 23:18:37 +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
70bf649364
- added clip planes for line portals and mirrors. This should eliminate the remaining problems with some visible geometry in front of the portal, it is also necessary to handle sprite splitting across line portals properly.
2016-04-29 12:26:57 +02:00
Christoph Oelckers
21283b18f4
- preparations for using clip planes on line portals.
2016-04-29 01:48:06 +02:00
Christoph Oelckers
434e39e62f
- made adjustments to ZDoom's last changes.
2016-04-28 17:55:58 +02:00
Christoph Oelckers
d4806f82ca
- reinstated some texturing-based dynamic light code. Not active yet and not tested yet.
2016-04-28 00:58:44 +02:00
Christoph Oelckers
ee7a4daa8c
- preparations for textured dynamic lights.
2016-04-27 23:19:54 +02:00
MajorCooke
3be33b5725
The GL part of Quake Rolls.
2016-04-27 13:49:51 +02:00
Christoph Oelckers
73823e6a09
- fixed the texture size checks for determining if a camera texture requires offscreen rendering were wrong and checked the scaled size, not the physical size.
2016-04-27 02:56:55 +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
066d5c63e2
- better be safe and not call GL_CLIP_DISTANCE functions on old hardware.
2016-04-26 21:55:17 +02:00
Christoph Oelckers
3faf5afa3a
- re-added software translucency splitting for old hardware.
2016-04-26 21:49:30 +02:00
Christoph Oelckers
b06c86db38
- added old wall splitting code as a fallback for old hardware.
2016-04-26 21:42:15 +02:00
Christoph Oelckers
6e1b21d513
- added back sprite splitting for low end, plus some dynamic light code.
2016-04-26 21:31:24 +02:00
Christoph Oelckers
89f36fb963
- enabled texture and model matrices for shader-less rendering and fixed the sky cap color application.
2016-04-26 20:45:56 +02:00
Christoph Oelckers
924b72b633
- added workarounds for the invulnerability colormap for non-shader rendering. Unlike the shader based versions these do not decolorize the screen. The advantage to the old texture duplication is that this is far less stressful on performance.
2016-04-26 20:02:57 +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
090d13b915
- updated gl_interface to deal with older GL versions.
...
- added the framework for allowing multipass textured dynamic lights again.
2016-04-26 15:20:26 +02:00
Christoph Oelckers
22b7a38539
- fixed incorrect sky texture check with Transfer_Heights. The actual sector was checked, not the one created by gl_FakeFlat.
2016-04-24 14:17:06 +02:00
Christoph Oelckers
f77c4642cb
- made the adjustments.
2016-04-24 13:35:43 +02:00