Commit Graph

14752 Commits

Author SHA1 Message Date
Christoph Oelckers 548ccb1df4 - removed some references to r_viewpoint in game code
Mainly to reduce number of search results.
2018-06-19 11:20:36 +02:00
Christoph Oelckers 86975a71e8 - don't use r_viewpoint directly when sorting translucent geometry.
Better store the view Z in a member variable and use that.
2018-06-19 10:50:48 +02:00
Christoph Oelckers ae7053ee98 - another small optimization 2018-06-19 10:40:50 +02:00
Christoph Oelckers 12ad0caec0 - small optimization 2018-06-19 10:33:59 +02:00
Christoph Oelckers fba5b872be - reduced number of references to r_viewpoint in hw_flats 2018-06-19 10:31:25 +02:00
Christoph Oelckers 3eb4b137f3 - reduced number of references to r_viewpoint in hw_fakeflat.cpp 2018-06-19 10:30:18 +02:00
Christoph Oelckers 18f43dea1e - reduced number of references to r_viewpoint in hw_sprites.cpp 2018-06-19 10:29:09 +02:00
Christoph Oelckers cf1641d0f6 - reduce number of places in weapon code which access r_viewpoint directly. 2018-06-19 10:25:11 +02:00
Christoph Oelckers f857d14e76 -Code shortening 2018-06-19 10:22:27 +02:00
Christoph Oelckers 74d8c929cc Give the clipper a reference to the current viewpoint
This is both for efficiency and encapsulation. At last on MSVC in 64 bit, accessing global variables is very inefficient and the clipper was doing it repeatedly in its worker functions.

It is also one less place where the global viewpoint gets checked.
2018-06-19 09:37:49 +02:00
Christoph Oelckers 46d73e7b4b Pass ticFrac to the model renderer as a parameter
This also removes the rather pointless gl_RenderModel functions because with their two lines of content they can just be placed inline.
2018-06-19 09:18:27 +02:00
Christoph Oelckers 8787905fed Fixed: DBaseStatusBar::Draw did not use its ticFrac parameter when being called from scripts
Instead it directly went to the global viewpoint again which would be inconsistent.
2018-06-19 09:00:50 +02:00
Christoph Oelckers d73d89762d Don't let DEarthquake depend on r_viewpoint.
The ticFrac value should be passed as a parameter, especially since this gets called from code that sets up r_viewpoint.
2018-06-19 08:32:25 +02:00
Magnus Norddahl 01bda6348e - change swrender mapping to use two buffers/textures and glTexSubImage2D for uploads 2018-06-19 00:09:39 +02:00
drfrag666 42bb9b7e59 - Fixed zdoom.rc for MinGW. 2018-06-18 20:57:52 +02:00
drfrag666 8afd331275 - Fixed -iwad parameter working only with VS on Windows. 2018-06-18 20:57:52 +02:00
drfrag666 958b3c303a - Fixed missing manifest for MinGW. 2018-06-18 20:57:52 +02:00
drfrag666 aef4003de2 - Restored dependency on dxguid library for MinGW. 2018-06-18 20:57:52 +02:00
drfrag666 b38e67a53d - Applied Blzut3's patch to compile with MinGW. 2018-06-18 20:57:52 +02:00
drfrag666 9a4ae6eb80 - Missing include again due to the VS preprocessor. 2018-06-18 20:57:52 +02:00
drfrag666 d8a1d1b89c - Missing formatting macro definitions for MinGW. 2018-06-18 20:57:52 +02:00
drfrag666 703d2bc0cd - Fixed missing include due to non conformant preprocessor in VS. 2018-06-18 20:57:52 +02:00
drfrag666 720bb485be - Disabled position independent executable for MinGW
This broke MinGW-w64 but was ignored with tdm-gcc.
2018-06-18 20:57:52 +02:00
Christoph Oelckers 211bd0b1b0 Remove unnecessary check for the ending brace. 2018-06-18 08:51:33 +02:00
Christoph Oelckers 243787d19a Fixed: End of file detection in MAPINFO parser was not correct
It should check for the special "End" flag instead of trusting that if the last token was a closing brace, all was correct. This can fail if the last token in a multiline string is a brace.
2018-06-18 08:26:14 +02:00
Erick Tenorio c91d4750f3 Save item statistics
Items are now saved into save games and are displayed on the statfile
2018-06-18 00:24:23 +02:00
Magnus Norddahl bce49ad7c8 - fix Software models don't display over nonexistent sprites 2018-06-17 14:56:34 +02:00
alexey.lysiuk 832de42c24 - prevented crashes caused by inconsistent status bar
Incorrectly initialized or deliberately broken status bar could lead to integer division by zero and null pointer dereference

class BuggyStatusBar : DoomStatusBar
{
    override void Init()
    {
        // No super.Init()
    }
}
2018-06-17 14:39:42 +03:00
alexey.lysiuk f2918b748f - deleted leftover declaration in Cocoa backend 2018-06-17 14:39:05 +03:00
Christoph Oelckers 1455111ddc - removed unused declarations. 2018-06-14 22:57:08 +02:00
Christoph Oelckers 612fb40f3a - don't use uniforms related to fixed colormaps for other things.
The fixed colormap is a per-scene global setting that normally does not need to change ever during rendering of a scene so it's easily shoved aside into a static uniform buffer.
Having to change this buffer for inconsequential stuff should be avoided, especially when there's other uniforms that are just as good to hold these values.
2018-06-14 21:28:03 +02:00
alexey.lysiuk 0643b2b1aa - updated list of headers for CMake generated projects 2018-06-14 15:11:36 +03:00
alexey.lysiuk 19ca416d09 - fixed compilation with GCC and Clang
error: no template named 'unique_ptr' in namespace 'std'
2018-06-14 15:10:49 +03:00
Christoph Oelckers 2f4c2e0425 - fixed some includes which did not cause VC++ to error out. 2018-06-13 23:32:43 +02:00
Christoph Oelckers 9a7f9bdb4c - moved postprocessing shader classes to hwrenderer after removing all dependencies on OpenGL. 2018-06-13 22:37:01 +02:00
Christoph Oelckers 3401876476 - use FShaderProgram through an abstract interface and remove all dependencies on the GL renderer from the shader definition source files. 2018-06-13 22:08:55 +02:00
Christoph Oelckers 8bf009bd89 - added a RenderQueue parameter to all Bind functions of the postprocessing shaders. This is unused for now. All places calling these pass a dummy NOQUEUE value which is just a nullptr.
This is for Vulkan preparation where all of this needs to run in a user-specified context so that this code can be moved out of the GL folder without depending on OpenGL's global state model.
2018-06-13 20:30:51 +02:00
Christoph Oelckers 0b9eaac5e1 - fixed SSAO shader texture assignments. 2018-06-13 19:04:19 +02:00
Christoph Oelckers ce50b0e46b - read sampler bindings from the shader instead of tagging along a large amount of support data.
Works for most shaders, except SSAO.
2018-06-13 17:44:49 +02:00
Christoph Oelckers 59827cd601 - use layout binding qualifiers on uniform buffers when GLSL version >= 4.2
This has no performance benefits but allows checking shader generation correctness without having to implement Vulkan first.
2018-06-13 13:16:07 +02:00
Christoph Oelckers d2dea17e81 - specify vertex attributes in the shader source for Vulkan compatibility. 2018-06-13 08:40:04 +02:00
Christoph Oelckers ad7aaa8f2a - specify fragment output locations in the shader source.
OpenGL has been supporting this since version 3.3 and Vulkan requires it so it's the way to go.
2018-06-12 23:52:33 +02:00
Magnus Norddahl 832e7818c8 - rewrote the blur shader so that it works the same way as the rest 2018-06-12 22:14:44 +02:00
Christoph Oelckers cb5caa757b - moved ShaderUniforms to hwrenderer/ . 2018-06-12 22:08:31 +02:00
Christoph Oelckers f166624eb2 - some fixes to the PP shader interface.
The binding point needs to be part of the ShaderUniforms class because Vulkan will need this value to generate the declaration in the shader source.
There's still one issue here: Since OpenGL has no local render state, the buffer must be bound every time it is used. Once the code is better abstracted this should be moved to a higher level class that knows all associated data and how to set it up.
2018-06-12 21:43:35 +02:00
Christoph Oelckers 4ddd9dde79 Use IUniformBuffer 2018-06-12 17:55:34 +02:00
Christoph Oelckers 20e84fff5a - fixed crash with GL 3.x and fixed colormap active.
This must skip all light processing. On GL 4.5 it will only collect useless data but on GL 3.x it will run into an unmapped buffer situation.
2018-06-12 17:55:20 +02:00
Christoph Oelckers 6fced1865f Moved ScopedViewShifter to hwrenderer/ . 2018-06-12 14:47:05 +02:00
Christoph Oelckers f33ddd8cce Made the ScopedViewShifter fully inline 2018-06-12 14:44:58 +02:00
Christoph Oelckers 5a20de829b fixed compiler warning 2018-06-12 10:59:17 +02:00