Commit Graph

13265 Commits

Author SHA1 Message Date
Magnus Norddahl 49073489e5 - uniform buffers for the fxaa, blur and bloom shaders 2018-06-11 22:06:46 +02:00
Magnus Norddahl 48f753061a - uniform buffers for the present and shadowmap shaders 2018-06-11 21:42:09 +02:00
Magnus Norddahl 6fcc79d72a - uniform buffers for the tonemap shaders 2018-06-11 21:18:20 +02:00
Magnus Norddahl 2bde741a7e - Uniform buffer for colormap shader 2018-06-11 21:03:55 +02:00
Magnus Norddahl d22fb24e28 - Uniform buffers for lens shader 2018-06-11 20:58:20 +02:00
Magnus Norddahl 763c5c9769 - change ssao pass to use an uniform block 2018-06-11 20:48:43 +02:00
alexey.lysiuk 29d2e77840 - fixed portal restoration on revisiting level in hub
Added function to FLevelLocals to test if map is being reentered

https://forum.zdoom.org/viewtopic.php?t=60455
2018-06-11 11:55:49 +03:00
Christoph Oelckers bd1525eb9d - fixed: ADynamicLight's shadowmap index must be reset when loading a savegame. 2018-06-10 22:57:34 +02:00
Magnus Norddahl a91147a3a5 - move DrawArray and DrawElements to PolyTriangleDrawer 2018-06-10 15:58:01 +02:00
Magnus Norddahl 9ba26a5ece - add support for using FModelVertex as input to the softpoly vertex shader 2018-06-10 15:29:31 +02:00
Magnus Norddahl c9fd52340e - add GroupMemoryBarrierCommand 2018-06-10 13:35:15 +02:00
Magnus Norddahl efa434d47b - remove unused VectoredTryCatch 2018-06-10 13:15:31 +02:00
Magnus Norddahl 628f6c32d9 - remove unused DrawerCommand::DebugInfo 2018-06-10 12:54:37 +02:00
Magnus Norddahl de67393b4e - use the worker threads to clear the stencil buffer 2018-06-10 12:42:19 +02:00
Christoph Oelckers 8486cd2c0e - fixed generation of brightmaps for sprites.
This forgot to take the added empty border for filtering improvement into account.
2018-06-10 08:22:07 +02:00
Rachael Alexanderson 77956fc485 - remove ARM specific gl_es definition since it's not even really much different from the main line definition, anyhow 2018-06-09 13:40:39 -04:00
Christoph Oelckers ae1fe041ee - ZScript used the wrong variable for compatflags2.
ii_* is merely the storage for info from the compatibility.txt lump.
2018-06-09 17:59:21 +02:00
alexey.lysiuk 4a1f36623b - fixed: flag CVars in ZScript referenced wrong addresses 2018-06-09 17:21:55 +03:00
Magnus Norddahl 85f5f897d7 - enable model rendering in the software renderer 2018-06-09 12:29:33 +02:00
Christoph Oelckers 1fdcacc337 - redirect script access to the compatflags CVARs to their internal shadow variables.
This is needed so that MAPINFO settings for these flags don't get ignored.
2018-06-08 22:55:44 +02:00
Christoph Oelckers a312f5a7c1 - update version info. 2018-06-07 00:04:53 +02:00
Magnus Norddahl 2abf700c29 - fix missing include 2018-06-06 00:30:59 +02:00
Magnus Norddahl 5464d2a577 - add dynamic lights to softpoly and software renderer models 2018-06-05 22:43:11 +02:00
Magnus Norddahl 61f379c88f - fix null pointer crash in softpoly 2018-06-05 22:42:21 +02:00
Christoph Oelckers 2baed338f7 - flat rendering must check for missing vertex buffer data. 2018-06-05 21:44:38 +02:00
Christoph Oelckers 60b6dbadb2 - fixed autoaiming for unranged attacks.
The abort condition for the extended checks must completely stop any further processing but the check for this was missing.
2018-06-05 20:35:01 +02:00
Magnus Norddahl f5386a706f - fix software renderer dynamic lights not working properly in mirrors 2018-06-05 20:09:02 +02:00
Magnus Norddahl b74a9965b8 - draw models in mirrors and portals at the right location in the software renderer 2018-06-05 19:36:57 +02:00
Marisa Kirisame 477cf23fd2 Adds "OnGiveSecret" virtual function on Actor for customizing behavior of secret finding. 2018-06-05 10:06:53 -04:00
Magnus Norddahl 674b6ee85c - avoid using global variables in the inner fuzz drawer loop 2018-06-05 15:43:03 +02:00
Magnus Norddahl 51fd715404 - fix dynlight color not being applied on sprites 2018-06-05 15:32:27 +02:00
Magnus Norddahl 9cd751ae7a - fix softpoly colored fog bug in the new drawers 2018-06-05 15:16:04 +02:00
alexey.lysiuk 7009755c52 - fix crash on dying when player class has no death states
https://forum.zdoom.org/viewtopic.php?t=60815
2018-06-05 11:06:31 +03:00
Marisa Kirisame fae514f30d BLOCKASPLAYER flag: treat non-player actors as blockable by "block players" lines 2018-06-04 22:18:51 +02:00
Christoph Oelckers 2f6dc46f14 - fixed FMemArena to always return 16 byte aligned pointers.
Unfortunately this turned out harder than expected because of FSharedStringArena making some strong assumptions about the underlying implementation.
2018-06-04 21:51:16 +02:00
Christoph Oelckers af3d17af8b Revert "- fix memory arena allocation alignment for 32 bit systems."
This reverts commit 23fce56b5e.

This did not do what it was supposed to because of how the block header was created.
2018-06-04 21:51:16 +02:00
Rachael Alexanderson 780ddd21bd - fixed - sector sounds were not translated through portal groups properly 2018-06-04 13:10:58 -04:00
Magnus Norddahl e3c78ab838 - use a light array to simplify inner light math 2018-06-04 00:36:14 +02:00
Magnus Norddahl 97f4cc1951 - use affine dynlights in softpoly 2018-06-03 22:24:44 +02:00
Christoph Oelckers d18f5eecb4 - Fixed: Dehacked must not validate parameters for MBF special functions.
These won't match the conditions.
Additionally this adds disassembly output for the synthesized replacement functions for diagnostics purposes.
2018-06-03 19:28:16 +02:00
Magnus Norddahl d425fb2d4a - replace the old rect drawers with new ones based on render styles 2018-06-03 18:36:37 +02:00
Christoph Oelckers 23fce56b5e - fix memory arena allocation alignment for 32 bit systems. 2018-06-03 18:20:50 +02:00
Christoph Oelckers a851a5d151 - fixed: For melee attacks with a short attack range P_AimLineAttack must check for hits from above and below.
This is necessary to be in line with P_LineAttack which does check for those.
2018-06-03 17:49:00 +02:00
alexey.lysiuk 352f93c066 - deleted now useless code from Cocoa backend
Let's rely on cross-platform code to manage window dimensions and screen resolution
2018-06-03 17:48:58 +03:00
alexey.lysiuk f8f1148c59 - fixed mouse cursor positioning in menu for Cocoa backend
With video resolution scaling enabled engine coordinates of mouse cursor were wrong
2018-06-03 17:48:58 +03:00
alexey.lysiuk b5274534d7 - fixed linking with sanitizer(s) enabled
no more unresolved references to various functions
2018-06-03 16:05:14 +03:00
Marisa Kirisame f74e74ac4b Mirroring should be flipped on HUD models since the view to world space transform already inverts one axis 2018-06-03 14:20:42 +02:00
Magnus Norddahl f03c02df43 - fix gamepic render buffer issues 2018-06-03 13:59:40 +02:00
Marisa Kirisame dea1d0259d Swap front face culling for GL model drawer (CCW should be the default).
Added mirroring handling to software models.
2018-06-03 07:26:55 +02:00
Magnus Norddahl a186677092 - removed the 8x8 block drawing code from softpoly 2018-06-03 01:44:56 +02:00
Christoph Oelckers d0aacd3ba8 - fixed: The translucent border draw list must be rendered with depth writing active.
This gets exclusively used by portal borders which means that for walls the setting is irrelevant but for flats it is needed to cover the portal surface so that translucent parts of the outer scene do not bleed through.
2018-06-02 23:09:51 +02:00
Magnus Norddahl 0dbcdc8a9c - fix negative rotation speed not working 2018-06-02 20:35:51 +02:00
Christoph Oelckers 94d1a73ae8 - pass mirroring info to model drawers.
Actual evaluation only implemented in OpenGL. Not tested yet because the bug report had no testable example.
2018-06-02 13:07:47 +02:00
Christoph Oelckers decea97a34 - use a linear light ramp on the textured automap for light modes 0 and 1. 2018-06-02 12:34:21 +02:00
Christoph Oelckers 0c5a47ac90 - fixed: MF3_DONTSPLASH disabled all terrain effects, not just the splash.
Untested for now because the report came without any example to check it with.
2018-06-02 12:10:44 +02:00
Marisa Kirisame 58f4af6ded Transform UE1 vertex coords to GZDoom's when importing, rather than leaving it up to the end user. 2018-06-02 10:00:31 +02:00
alexey.lysiuk 81f042f08b - fixed compilation with Clang and GCC
src/gl/scene/gl_flats.cpp:215:3: error: cannot jump from this goto statement to its label
src/r_data/models/models.cpp💯18: error: no member named 'floor' in namespace 'std'
2018-06-02 09:43:33 +03:00
Christoph Oelckers 7d515e72c2 - fixed: FxFloatCast must transfer the outer expression's value type to the inner expression if it performs a float->float cast.
This violated an important rule that a cast may not alter the expression's type and led to failed asserts elsewhere.
2018-06-02 07:50:23 +02:00
Christoph Oelckers 058c5426cd - fixed: OpenGL2 should not use the precalculated vertex buffer data for flat rendering.
This wasn't set up properly anymore because the new index-based buffer code is not efficient on GL2, but the render function forgot to skip the buffer checks and jump right to the fallback path.
2018-06-02 07:25:41 +02:00
Magnus Norddahl 359b13b783 - fix rotationSpeed being ignored after the model interpolation fix 2018-06-01 20:48:24 +02:00
alexey.lysiuk 7b619bc78c - fixed crash with legacy render path
https://forum.zdoom.org/viewtopic.php?t=60727
2018-06-01 12:28:27 +03:00
alexey.lysiuk edabe43bca - fixed typo in previous commit
https://forum.zdoom.org/viewtopic.php?t=60739
2018-06-01 12:24:29 +03:00
Christoph Oelckers 2d50f535ff - fixed and simplified the vertex counter for wall polygons.
This is now allowed to overestimate the number of vertices to reduce computation time for a rarely occuring special case that was eating most of the time and was causing errors with some walls.
2018-05-31 22:14:57 +02:00
alexey.lysiuk bff2c8cf74 - limited length of server CVAR name to 63 characters
Due to limitation of network protocol server CVARs with longer names cannot propogate changes of their values properly

https://forum.zdoom.org/viewtopic.php?t=60729
2018-05-31 10:29:58 +03:00
alexey.lysiuk 0546c86716 - fixed Windows XP compatibility for MSVC 2017 targets
Workaround initially implemented for MSVC 2015 is enabled with all Windows XP compatible toolsets regardless of Visual Studio version

https://forum.zdoom.org/viewtopic.php?t=60675
2018-05-31 10:24:16 +03:00
alexey.lysiuk 4f5911da21 - fixed rendering of environment map on mirrors
With temporarily mapped buffer this feature seems to never work correctly
With persistently mapped buffer it was broken in 9a1603b246
2018-05-30 15:46:53 +03:00
Magnus Norddahl 4e6226fc2d - replace softpoly block drawers with span drawers and make them use blending rules directly from render styles
- add dynlights to softpoly pal mode
2018-05-29 23:32:57 +02:00
Magnus Norddahl ac207cce85 Merge branch 'master' of https://github.com/coelckers/gzdoom into gzdoom 2018-05-29 23:30:38 +02:00
Christoph Oelckers ad343892f3 - fixed: When deserializing the object list, the array must be nulled before using it so that a premature abort does not end up working on random data. 2018-05-29 19:00:41 +02:00
alexey.lysiuk f06ee10495 - use proper map section for wall mirror portal
https://forum.zdoom.org/viewtopic.php?t=60671
2018-05-29 12:16:20 +03:00
alexey.lysiuk a0695cbb48 - fixed blinking frame after saving a game
Viewport was not reseted after creation of saved game thumbnail, so one junk frame was rendered right after saving a game

https://forum.zdoom.org/viewtopic.php?t=60412
2018-05-29 12:07:45 +03:00
alexey.lysiuk 0187b0aa5b - fixed mirrors and reflections in hardware renderer
https://forum.zdoom.org/viewtopic.php?t=60671
2018-05-28 11:51:43 +03:00
alexey.lysiuk 36779cf88c - restore startup game state on restart
At least values of custom server CVARs were not restored because of this

https://forum.zdoom.org/viewtopic.php?t=60711
2018-05-27 16:42:48 +03:00
alexey.lysiuk e085a8d58a - garbage collect static event handlers on restart
Remaining object(s) led to a potential crash on the next garbage collection cycle
Assertion failure was triggered during restarting in Debug configuration
2018-05-27 16:42:48 +03:00
Magnus Norddahl 190b673890 - Modify TriBlendMode enum to match the render styles 2018-05-26 23:06:23 +02:00
Magnus Norddahl 9fb34fd8e6 - add SSE2 version of softpoly span drawer 2018-05-26 16:15:14 +02:00
Magnus Norddahl 7f908ce75d - implement render styles for the softpoly span drawers 2018-05-26 14:27:54 +02:00
alexey.lysiuk 91f440378e - fixed minor issues with new line specials 2018-05-26 10:37:01 +03:00
Cacodemon345 b02736c705 Add missing line specials. 2018-05-26 10:36:16 +03:00
Magnus Norddahl 31f29bbe8a - force model light to be attenuated 2018-05-25 19:23:47 +02:00
alexey.lysiuk 1634b78280 - fixed typo in error message 2018-05-25 11:05:30 +03:00
alexey.lysiuk a936592cfd - fixed compilation warning reported by MSVC
src\r_videoscale.cpp(105): warning C4244: 'initializing': conversion from 'float' to 'int', possible loss of data
2018-05-25 10:59:48 +03:00
Raccoon 475d3f0829 Adds line specials 2018-05-24 21:46:32 +02:00
Magnus Norddahl cadc4f2a30 - add #include support to TEXTURES lump 2018-05-24 21:18:20 +02:00
alexey.lysiuk 7576068202 - fixed compilation warning with MSVC 2015
src\polyrenderer\scene/poly_portal.cpp(142): warning C4800: 'line_t *': forcing value to bool 'true' or 'false' (performance warning)
2018-05-24 11:58:51 +03:00
Magnus Norddahl 8098657cf4 - add two-sided culling support in software and poly 2018-05-24 01:39:36 +02:00
Magnus Norddahl 771931db9f - forgot to remove the remarked comment 2018-05-24 01:00:31 +02:00
Magnus Norddahl fb9cf33af6 - enable #include support in modeldef files 2018-05-24 00:59:45 +02:00
Christoph Oelckers 496e6e2e8f - fixed: The vertex height updater was using the index buffer offsets to access the vertex buffer.
I missed this part when repurposing the vboindex members to store the index buffer offsets.
However, since both indices are needed, they need another set of variables.
2018-05-24 00:01:56 +02:00
Christoph Oelckers 23909d109f fixed: Generating light data for single subsectors should not use the light list of the entire sector but only the one for the current subsector 2018-05-23 08:46:26 +02:00
Christoph Oelckers 044c8a2034 - removed gl_render_subsectors test CVAR and disabled vertex buffer generation for legacy mode
To reduce the performance impact, legacy mode will now always create flat vertex data on the fly instead of relying on the vertex buffer. This makes the CVAR mostly redundant as on anything more modern rendering per subsector will always be slower.
2018-05-23 08:43:52 +02:00
Christoph Oelckers b612e182b4 Merge branch 'indexbuffer'
# Conflicts:
#	src/gl/data/gl_vertexbuffer.h
#	src/gl/scene/gl_flats.cpp
#	src/hwrenderer/data/flatvertices.h
2018-05-22 22:10:21 +02:00
Christoph Oelckers df6a50872d Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-05-22 21:36:52 +02:00
Christoph Oelckers 3f6789ecac - moved gl_bsp.cpp to its proper place. 2018-05-22 21:36:42 +02:00
Christoph Oelckers 8987aba4a4 - restored accidentally deleted line of code. 2018-05-22 21:08:00 +02:00
alexey.lysiuk 26ebb938c1 - fixed compilation with GCC/Clang
https://forum.zdoom.org/viewtopic.php?f=2&t=60657
2018-05-22 21:48:31 +03:00
Christoph Oelckers 2514753afb - make the vertex buffer accessible from the hwrenderer code. 2018-05-22 18:48:10 +02:00
Magnus Norddahl 91aec1689e - move modeldef parsing to its own function (ParseModelDefLump)
- rename gl_InitModels to InitModels
- add commented out support for #include in modeldefs (blocked by gene tech having broken #include statements in its modeldef files)
2018-05-22 01:28:57 +02:00
Christoph Oelckers 226e8f84da - most of gl_bsp.cpp moved to HWDrawInfo.
Only the vertex buffer update check needs to be done yet.
2018-05-22 00:27:39 +02:00
Christoph Oelckers df0b1e8dae - moved the clipper out of GLSceneDrawer and let it be handled by HWDrawInfo.
The precise way the clipper needs to be maintained may differ between APIs, so it is no longer owned by any render structure but instead HWDrawInfo only contains a reference.
For OpenGL there is still only one static clipper because without multithreaded BSP traversal there is no need for more.
2018-05-21 22:54:04 +02:00