Magnus Norddahl
770c676ac9
- add gl_dither for toggling dithered output on and off
...
# Conflicts:
# src/gl/renderer/gl_postprocess.cpp
# src/gl/renderer/gl_stereo3d.cpp
# src/hwrenderer/postprocessing/hw_presentshader.h
2018-10-09 21:57:14 +02:00
drfrag666
dfe032dc8a
- Fixed no rendering with shadowmaps enabled and render buffers disabled.
2018-10-05 01:56:28 +02:00
drfrag666
9d10545ff2
- Fixed non valid value.
2018-10-04 21:10:05 +02:00
Christoph Oelckers
24d09fe56a
- some tweaking of shadowmap filter setting to allow changing the PCF filter's number of samplings.
...
# Conflicts:
# src/gl/system/gl_cvars.h
# src/gl/system/gl_menu.cpp
2018-10-04 19:19:56 +02:00
drfrag666
58b7967eea
- enabled the linear shadowmap filter.
...
Although this doesn't look as good as the PCF version it is a lot less calculation intensive and therefore more suitable for weaker hardware.
It also tends to bleed through walls a lot less.
(refactored patch by Graf)
2018-10-04 19:08:49 +02:00
Rachael Alexanderson
92d631deb7
- changed macro into a regular function
2018-09-29 21:26:56 +02:00
Rachael Alexanderson
f06501da22
- implement normalNx scaling
...
# Conflicts:
# wadsrc/static/menudef.txt
2018-09-29 21:26:54 +02:00
drfrag666
c320a92dcf
- Fixed gcc warning.
2018-09-09 13:35:50 +02:00
Christoph Oelckers
f039fabfb8
- fixed the use of Doom-Legacy-style 3D floor lighting in light mode 8.
...
Legacy used some strange blending formula to calculate its colormaps for colored 3D floor lighting, this is not available in the software lighting mode, so for these the engine has to temporarily revert to light mode 2 to render them correctly.
# Conflicts:
# src/gl/compatibility/gl_20.cpp
# src/gl/renderer/gl_lightdata.cpp
# src/gl/renderer/gl_renderstate.h
# src/gl/scene/gl_sprite.cpp
# src/hwrenderer/scene/hw_weapon.cpp
# src/hwrenderer/utility/hw_lighting.cpp
# src/hwrenderer/utility/hw_lighting.h
# src/v_2ddrawer.cpp
2018-09-09 13:09:31 +02:00
Christoph Oelckers
7848bab7b3
- fixed math imprecisions in horizon vertex generation.
...
Floats are not precise enough to be used as a loop counter.
2018-09-09 11:29:19 +02:00
Christoph Oelckers
1e487ee30a
- added profiling for postprocessing code.
...
# Conflicts:
# src/gl/scene/gl_scene.cpp
# src/gl/utility/gl_clock.cpp
# src/hwrenderer/utility/hw_clock.h
2018-09-02 13:07:02 +02:00
drfrag666
a2674eb4cf
- Added fake DrawThickLine action function so mods using it don't crash. DrawLine will be called instead.
2018-09-02 00:29:11 +02:00
Christoph Oelckers
4efb5187c7
- defaulted constructors and assignment operators of several trivial types.
...
# Conflicts:
# src/hwrenderer/textures/hw_material.cpp
2018-08-28 13:43:51 +02:00
Christoph Oelckers
d729e31603
- made the MapSectionGenerator a class to remove a global array.
2018-08-22 12:02:16 +02:00
Christoph Oelckers
390c9117f1
- fixed bad comparators for std::sort
2018-08-22 02:16:19 +02:00
Christoph Oelckers
4ee0cc7841
- use std::sort to sort the draw lists to avoid having to go through global variables.
2018-08-22 01:53:55 +02:00
Christoph Oelckers
cad63e9b48
- removed access to deleted variable.
2018-08-22 01:49:53 +02:00
Christoph Oelckers
26a782031c
- no, we do not want to use global variables to pass parameters around...
...
# Conflicts:
# src/gl/models/gl_models.h
2018-08-22 01:49:33 +02:00
Christoph Oelckers
ec1c71feb1
- removed empty header gl_convert.h
...
# Conflicts:
# src/gl/scene/gl_flats.cpp
# src/gl/scene/gl_scene.cpp
2018-08-22 01:21:20 +02:00
drfrag666
d79855d26b
- disable any texture clamping for textures with a user shader.
...
This cannot be reliably determined so the least restrictive setting must be used.
(refactored patch by Graf)
2018-08-21 15:06:53 +02:00
Magnus Norddahl
a1c5194a25
- fix missing forward declaration when falling back to older user shaders
2018-08-20 20:11:36 +02:00
drfrag666
76dffaf658
- Fixed bad merge of "- rewrite the user shader support for materials - new syntax is to create a 'Material ProcessMaterial()' function".
2018-08-20 12:50:54 +02:00
Magnus Norddahl
9c74c9629a
- rewrite the user shader support for materials - new syntax is to create a 'Material ProcessMaterial()' function
...
# Conflicts:
# src/gl/shaders/gl_shader.cpp
# src/hwrenderer/textures/hw_material.cpp
# src/r_data/gldefs.cpp
# wadsrc/static/shaders/glsl/main.fp
2018-08-20 01:22:34 +02:00
usernameak
57d4536f76
Fix codestyle; add ability to name the textures
2018-08-19 21:50:29 +02:00
usernameak
5cddbe4a16
Made ability to define custom material shaders for ProcessMaterial function
...
# Conflicts:
# src/r_data/gldefs.cpp
2018-08-19 21:50:14 +02:00
usernameak
4c106de5d7
Custom hardware shaders now can use custom texture units
...
# Conflicts:
# src/gl/textures/gl_material.cpp
# src/textures/textures.h
2018-08-19 21:47:32 +02:00
Christoph Oelckers
b03c329ec6
- moved all GLDEFS parsing into a dedicated source file.
...
- split gl_postprocessshader.h in two so that the hardware independent part can be used by GLDEFS without pulling in all of OpenGL.
# Conflicts:
# src/CMakeLists.txt
# src/gl/dynlights/gl_glow.cpp
# src/gl/renderer/gl_postprocess.cpp
# src/gl/textures/gl_texture.cpp
2018-08-19 20:56:49 +02:00
drfrag666
285791622d
Revert "- update xBRZ upscaler to version 1.6"
...
This reverts commit 6dd17b4ef0
.
This broke compilation with TDM-GCC 5.1. While it has problems i still use it for convenience, also no more win98.
2018-08-12 11:36:58 +02:00
alexey.lysiuk
aa4cb300da
- added 5x and 6x upscaling with xBRZ
2018-08-10 21:16:09 +02:00
alexey.lysiuk
8197bf436d
- cleaned up old xBRZ 1.0 upscaler
...
Removed obsolete header comments and support for C++98
Disabled Windows only debug features
# Conflicts:
# src/gl/xbr/xbrz_old.cpp
2018-08-10 21:16:07 +02:00
alexey.lysiuk
6dd17b4ef0
- update xBRZ upscaler to version 1.6
...
Fixed build with all suported toolchains thanks to incomplete implementation of C++14 in MSVC 2015 and GCC 4.9
Removed obsolete header comments and support for C++98
Disabled Windows only debug features
https://sourceforge.net/projects/xbrz/
https://sourceforge.net/projects/xbrz/files/xBRZ/xBRZ_1.6.zip
2018-08-10 21:05:40 +02:00
Christoph Oelckers
01109897b0
- replaced gl_PatchMenu with an MMX 'ifoption' check.
...
# Conflicts:
# src/gl/system/gl_framebuffer.cpp
2018-08-10 20:47:06 +02:00
drfrag666
5b76d7563b
- Changed default GL sprite billboard mode to X/Y axis.
2018-08-04 14:44:43 +02:00
Christoph Oelckers
a7a350d37e
- always retrieve uniform buffer properties.
...
They are sometimes needed even if shader storage buffers are available.
# Conflicts:
# src/gl_load/gl_interface.cpp
2018-07-29 22:34:11 +02:00
Christoph Oelckers
425d756f04
- do not use SSBOs for dynamic lights on Intel graphics hardware for performance reasons.
...
This was already disabled for GL 4.4 and lower but also needs to be done for Intel's GL 4.5 drivers.
Unlike before this is now exclusive to the light buffer, the shadowmap feature is not affected anymore, although that should be impossible to use anyway on all affected hardware due to lack of computing power.
# Conflicts:
# src/gl/shaders/gl_shader.cpp
# src/gl_load/gl_interface.cpp
2018-07-28 19:38:47 +02:00
drfrag666
f19e9f24d2
- Fixed: in2D was not always reset in OpenGLSWFrameBuffer::Update(), caused (!in2D) assertion failure.
2018-07-22 18:21:45 +02:00
Christoph Oelckers
6f322940fe
- don't let the video scale let the screen end up with a client size less than 320x200, which may cause undefined behavior and trigger asserts in debug builds.
...
# Conflicts:
# src/gl/system/gl_framebuffer.cpp
# src/v_video.cpp
2018-07-22 12:49:47 +02:00
drfrag666
9c1969e63a
- OpenGLSWFrameBuffer: draw directly to the PBO again (GL_DYNAMIC_DRAW) for Intel GPUs, apparently it's faster.
2018-07-20 12:10:59 +02:00
drfrag666
09d9386350
- Made software sector light mode the default for the GL renderer.
2018-07-19 22:20:22 +02:00
drfrag666
b3e2a8ab7f
- Changed buffer type for OpenGLSWFrameBuffer to use GL_STREAM_DRAW and a memcpy from system memory on non Nvidia GPUs.
2018-07-19 18:05:13 +02:00
Christoph Oelckers
c519239a1b
- fixed: The stencil cap may never write to the depth buffer.
...
Due to the way nested portals work this will block rendering of the nested cap entriely and cause some visual glitches when looking straight up or down in such a sector.
# Conflicts:
# src/gl/scene/gl_portal.cpp
2018-07-16 14:51:29 +02:00
Christoph Oelckers
0d9deb35aa
- 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.
(cherry picked from commit 2c86c4e942
)
2018-07-15 12:14:36 +02:00
drfrag666
cafb92c637
- Fall back to software mode if the GL renderer cannot start.
2018-06-19 17:08:59 +02:00
drfrag666
09a3d7c9da
- Made the software renderer the default.
...
- Changed default GL texture filtering mode.
2018-06-19 17:08:10 +02:00
Magnus Norddahl
01332a1bde
- add dynamic lights to softpoly and software renderer models
...
(cherry picked from commit 5464d2a577
)
# Conflicts:
# src/gl/scene/gl_spritelight.cpp
2018-06-06 08:49:08 +02:00
Marisa Kirisame
1afcd9b7c7
Mirroring should be flipped on HUD models since the view to world space transform already inverts one axis
...
(cherry picked from commit f74e74ac4b
)
2018-06-03 19:51:45 +02:00
Marisa Kirisame
5a76623993
Swap front face culling for GL model drawer (CCW should be the default).
...
Added mirroring handling to software models.
(cherry picked from commit dea1d0259d
)
2018-06-03 19:49:48 +02:00
Christoph Oelckers
ea752bde90
- 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.
(cherry picked from commit d0aacd3ba8
)
# Conflicts:
# src/gl/scene/gl_scene.cpp
2018-06-03 01:22:56 +02:00
Christoph Oelckers
ff5c488a0f
- pass mirroring info to model drawers.
...
Actual evaluation only implemented in OpenGL. Not tested yet because the bug report had no testable example.
(cherry picked from commit 94d1a73ae8
)
2018-06-02 21:31:23 +02:00
Magnus Norddahl
8de520e9e1
- avoid reusing the same mVBuf pointer for the different renderers as that causes too many problems when switching between them
...
- remove gl_ prefix for model functions that are no longer GL specific
(cherry picked from commit 31abe3df7e
)
# Conflicts:
# src/gl/models/gl_models.h
# src/gl/scene/gl_scene.cpp
# src/hwrenderer/scene/hw_sprites.cpp
# src/hwrenderer/scene/hw_weapon.cpp
# src/hwrenderer/textures/hw_precache.cpp
2018-05-24 10:25:05 +02:00