Commit graph

14911 commits

Author SHA1 Message Date
Christoph Oelckers
2c86c4e942 - fixed: When deleting a camera texture's depth buffer, the corresponding variable must also be cleared.
Thanks to OpenGL's messed up state system this didn't cause some clear failure but just reused the last bound buffer instead which may not have had a matching size.
2018-07-15 10:55:34 +02:00
Christoph Oelckers
d58d1e21d0 - removed the texture invalidation check from FHardwareTexture.
This is not needed anymore because only warp and camera textures still implement CheckModified and both are excluded here.
2018-07-15 00:28:16 +02:00
Christoph Oelckers
7bda29387d - added missing files.
No idea why they weren't committed...
2018-07-15 00:26:22 +02:00
Christoph Oelckers
1294f3df64 - replaced the procedural backdrop texture with some warped noise texture.
This was done because the backdrop as implemented was the only texture in the entire game that had to be deleted and recreated each frame.
However, with Vulkan this would have necessitated quite a bit of synchronization with the render pipeline which wasn't really feasible just for this one single texture.
Now the texture manager can assume that once a texture was created it will be immutable and never has to change.
2018-07-15 00:00:00 +02:00
Christoph Oelckers
7a692b1557 - added DTA_LegacyRenderStyle so that STYLE_* constants can be passed directly to the Draw functions.
- fixed the optional parameter in Shape2D.Clear.
2018-07-14 22:58:24 +02:00
Christoph Oelckers
ed856085f4 - use the Dim function to draw the palette tester.
This looks better, consumes less resources and removes one ugly special texture from the engine.
2018-07-14 18:28:12 +02:00
Christoph Oelckers
33ee0f3c27 Merge branch 'master' into modern
# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	src/gl/renderer/gl_renderer.h
#	src/gl/renderer/gl_renderstate.h
#	src/gl/system/gl_framebuffer.cpp
#	src/gl/system/gl_framebuffer.h
2018-07-14 13:18:34 +02:00
Christoph Oelckers
7817e6a7b2 - moved the texture binding code back to the OpenGL specific parts.
turns out that this cannot be consolidated with Vulkan because the semantics are far too different here.
2018-07-14 13:05:49 +02:00
Christoph Oelckers
69a3271440 - removed the unused feature to allow animated material layers.
This was a relic from trying to support ZDoomGL's texture shader system but would make texture management with Vulkan significantly more complicated because it would require dynamic descriptor set management for textures which can cause a lot of overhead.
2018-07-14 12:10:41 +02:00
usernameak
7de9e1f097 Added ability to set defines in custom HW shaders 2018-07-14 12:01:54 +02:00
usernameak
e306d4ee04 Fix codestyle; add ability to name the textures 2018-07-14 12:01:54 +02:00
usernameak
fa51a54042 Made ability to define custom material shaders for ProcessMaterial function 2018-07-14 12:01:54 +02:00
usernameak
292458ee2d Custom hardware shaders now can use custom texture units 2018-07-14 12:01:54 +02:00
Christoph Oelckers
124fe63d00 Merge branch 'master' into modern 2018-07-14 10:24:41 +02:00
Marisa Kirisame
2d0fb4ed2e Adds 2D shape (triangle array) drawer, usable from ZScript. Handles most drawtexture parameters excluding those related to scaling, at the moment. 2018-07-13 20:24:06 +02:00
Erick Tenorio
dfe635dd4a TNT.WAD fixes
MAP07 - Dropping onto the outdoor lava will now raise triangle sectors.
Should be impossible to get stuck in them now.
MAP08 - Fix (what I presume to be an unintentional) missing texture.
2018-07-12 17:42:58 +02:00
alexey.lysiuk
23a4daac23 - skipped owned items in proximity test
https://forum.zdoom.org/viewtopic.php?t=61224
2018-07-11 17:49:30 +02:00
argv-minus-one
ce1aa7e962 Move RandomSpawner's random selection logic into a virtual method.
With this, one can use its self-replacement code (which copies a bunch of its state into the replacement actor, and monitors for boss death if appropriate), but select the replacement class based on some other criteria (map number, the player's RPG stats, the player's class, etc).
2018-07-09 17:50:55 +02:00
argv-minus-one
6239796b92 Move RandomSpawner's recursion check into PostBeginPlay.
Previously, a RandomSpawner with infinite recursion would hang the game, because the recursion check was happening before the recursion counter (bouncecount) was set.
2018-07-09 17:50:55 +02:00
alexey.lysiuk
55ae431c02 - fixed crash on setting particular CVARs
Game crashed when any of gl_brightfog, gl_lightadditivesurfaces, gl_notexturefill CVARs is set with no level loaded
There was impossible to reset settings to defaults because of this
2018-07-07 12:04:41 +03:00
David Carlier
2a59327aeb foo being allocated with metadata based allocator needs to
be freed similarly.
2018-07-06 10:59:23 +03:00
Marisa Kirisame
e5249f302a UE1: Clean up and restructure model class.
UE1: Add support for Deus Ex format vertex data.
UE1: Group triangles by skin index AND type/flags (preparation for per-surface render style support).
UE1: Add handling of Weapon Triangle (preparation for model attachment support).
UE1: Support flat shaded triangle flag.
2018-07-04 21:31:48 +02:00
Magnus Norddahl
ebae12e74b - Make members private that are not used outside FGLRenderBuffers 2018-07-03 23:35:34 +02:00
Magnus Norddahl
092b2953ea - add GL to OpenGL specific postprocess classes to make it more clear which belongs to the generic hw interface and which belong to the OpenGL implementation 2018-07-03 23:31:40 +02:00
Magnus Norddahl
2128b99117 - fix ssao not working when multisample was off 2018-07-03 23:21:54 +02:00
Magnus Norddahl
128c8d8318 - improve the bloom blur quality slightly 2018-07-03 23:12:47 +02:00
Magnus Norddahl
fcee021753 Fix frame buffer binding bug that caused PP textures to end up with bad data 2018-07-03 21:44:49 +02:00
Christoph Oelckers
158890e0ce - fixed : Decals used the wrong texture variant. 2018-07-02 19:12:48 +02:00
alexey.lysiuk
c29651da95 - restored initial grayscale conversion in fragment shader
Accidental change of red color multiplier was discovered during investigation of https://forum.zdoom.org/viewtopic.php?t=61126
2018-07-02 17:31:48 +03:00
Magnus Norddahl
2e5b7a7d8b - softpoly: fix sprites still lit when dynlights off 2018-07-01 20:53:50 +02:00
Magnus Norddahl
6d6ee1281e - softpoly: fix normal walls not getting rendered for subsectors with poly objects in them 2018-07-01 14:41:35 +02:00
Magnus Norddahl
4482ad2b78 - fix saved texture bindings to work for any number of binds 2018-07-01 14:31:30 +02:00
alexey.lysiuk
0a139e90fb - restored initial clamping for blend colors
https://forum.zdoom.org/viewtopic.php?t=61134
2018-06-30 20:27:04 +03:00
Magnus Norddahl
5b3212df13 Merge remote-tracking branch 'gzdoom/modern' into hw_postprocess 2018-06-30 16:47:06 +02:00
Magnus Norddahl
c0c7573788 - fix black ssao bug 2018-06-30 16:46:33 +02:00
Magnus Norddahl
8eb825e25a - fix some postprocess bugs 2018-06-30 16:44:09 +02:00
Magnus Norddahl
ba09af7cbb - add GL debug group for the 2D drawer
- remove pointless opengl calls from effects that are doing nothing
2018-06-30 15:41:12 +02:00
Magnus Norddahl
723b18f2cd Merge branch 'hw_postprocess' of https://github.com/coelckers/gzdoom into hw_postprocess 2018-06-30 15:24:25 +02:00
Magnus Norddahl
35c13763db - convert the SSAO pass to use hw_postprocess 2018-06-30 15:24:13 +02:00
alexey.lysiuk
43b94d829e - fixed crash when actor is destroyed during spawning
This only applies to spawning via summon... CCMDs
Now 'summon decal 0' no longer crashes the game
2018-06-30 15:11:21 +03:00
alexey.lysiuk
5d27c16f30 - disabled default values for out parameters
https://forum.zdoom.org/viewtopic.php?t=61128
2018-06-30 11:44:22 +03:00
alexey.lysiuk
1d937b9f3c - removed Class identifier workaround from Cocoa backend 2018-06-30 11:43:30 +03:00
alexey.lysiuk
49f2e75ee4 - removed support of legacy OpenGL profile in Cocoa backend
Minimum OpenGL version is now 3.3 and so, the given legacy fallback doesn't make any sense
This increases required macOS version to 10.9 as on previous versions nothing but a black screen was rendered
2018-06-30 11:13:12 +03:00
alexey.lysiuk
a1d5833c8a - reset framebuffer pointer on destruction in Cocoa backend
Added debug validation of framebuffer pointer as well
2018-06-30 11:06:41 +03:00
alexey.lysiuk
da005fa7fc Fixed compilation warnings reported by Clang
hwrenderer/postprocessing/hw_postprocess.cpp:22:3: warning: delete called on non-final 'PPEffectManager' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
hwrenderer/postprocessing/hw_postprocess.h:64:5: warning: cannot delete expression with pointer-to-'void' type 'void *' [-Wdelete-incomplete]
hwrenderer/postprocessing/hw_postprocess.h:75:3: warning: cannot delete expression with pointer-to-'void' type 'void *' [-Wdelete-incomplete]
hwrenderer/postprocessing/hw_postprocess.h:85:4: warning: cannot delete expression with pointer-to-'void' type 'void *' [-Wdelete-incomplete]
2018-06-30 10:51:47 +03:00
Magnus Norddahl
ecb5d69ae3 - Simplify FGLRenderer::PostProcessScene 2018-06-29 21:55:46 +02:00
Magnus Norddahl
a7529ce3b4 Merge remote-tracking branch 'gzdoom/modern' into hw_postprocess 2018-06-29 20:24:32 +02:00
alexey.lysiuk
651e735246 Merge branch 'master' into modern 2018-06-29 17:51:10 +03:00
alexey.lysiuk
ecb5bfec13 - removed obsolete code from POSIX backends 2018-06-29 17:50:19 +03:00
alexey.lysiuk
1ebc169d56 - fixed potential crash on fatal error in Cocoa backend
Early fatal error can be triggered when native OpenGL frame buffer is not created yet and DDummyFrameBuffer is still used
2018-06-29 17:50:19 +03:00