Commit graph

526 commits

Author SHA1 Message Date
Christoph Oelckers
d31f67cb43 - consolidated the 3 nearly identical code fragments handling the weapon's YAdjust for the different renderers into a utility function in DPSprite.
# Conflicts:
#	src/hwrenderer/scene/hw_weapon.cpp
#	src/polyrenderer/scene/poly_playersprite.cpp
#	src/swrenderer/things/r_playersprite.cpp
2019-04-15 22:07:45 +02:00
drfrag666
cdb60486c7 - Fixed compilation of previous commit. 2018-11-30 10:16:55 +01:00
Magnus Norddahl
e76a9c3085 - forgot to set the light level 2018-11-29 11:26:32 +01:00
Magnus Norddahl
20d5b904b2 - use psprite renderstyle on HUD models 2018-11-29 11:26:20 +01:00
drfrag666
557380a769 - Added alpha parameter to DrawLine for the GL renderer, it's a fake parameter for the software renderer so mods don't crash. 2018-11-02 13:04:37 +01:00
Rachael Alexanderson
6aa51b08da - do a texture check when drawing fog borders in the software renderer. this does not fix the crash issue, but mitigates it enough with a check that likely should be in place, anyhow. 2018-11-01 19:10:55 +01:00
drfrag666
eebd6c8319 Revert "- removed the 8x8 block drawing code from softpoly"
This reverts commit d086c3d4dc.

# Conflicts:
#	src/polyrenderer/drawers/poly_triangle.cpp
#	src/polyrenderer/drawers/poly_triangle.h

The softpoly renderer crashed at high resolutions without them.
2018-10-26 19:51:30 +02:00
drfrag666
2c8b5e700f Revert "- use the worker threads to clear the stencil buffer"
This reverts commit 0a265d028d.

# Conflicts:
#	src/polyrenderer/drawers/poly_triangle.cpp
#	src/polyrenderer/drawers/poly_triangle.h
2018-10-26 19:39:38 +02:00
drfrag666
195a54e0d1 - Fixed compilation of previous commit. 2018-07-28 12:42:14 +02:00
Magnus Norddahl
7144ac6897 - add support for specifying the exact thread count to r_multithreaded and r_scene_multithreaded 2018-07-28 12:30:10 +02:00
drfrag666
4ed793eb3b - Disabled truecolor rendering and dynamic lights for software by default. 2018-07-27 02:04:18 +02:00
drfrag666
021f5cf656 - Enabled render distance cull options by default. 2018-06-27 12:35:48 +02:00
Christoph Oelckers
833006b5d9 Fixed: Software rendered models checked the wrong CVAR for enabled dynamic lights.
(cherry picked from commit e402babfc0)
2018-06-26 11:21:22 +02:00
drfrag666
abb2f6fd32 - Disabled EFX for OpenAL by default. This option has a severe performance impact on single core cpus.
- Disabled mipmapped textures for truecolor by default.
2018-06-20 20:56:02 +02:00
Magnus Norddahl
087f709637 - fix Software models don't display over nonexistent sprites
(cherry picked from commit bce49ad7c8)
2018-06-17 18:55:44 +02:00
Magnus Norddahl
34500a6324 - move DrawArray and DrawElements to PolyTriangleDrawer
(cherry picked from commit a91147a3a5)
2018-06-16 19:59:22 +02:00
Magnus Norddahl
db8c8c5ac3 - add support for using FModelVertex as input to the softpoly vertex shader
(cherry picked from commit 9ba26a5ece)
2018-06-16 19:59:19 +02:00
Magnus Norddahl
380d90f532 - add GroupMemoryBarrierCommand
(cherry picked from commit c9fd52340e)
2018-06-16 19:58:39 +02:00
Magnus Norddahl
9bcd8aeb13 - remove unused VectoredTryCatch
# Conflicts:
#	src/win32/i_crash.cpp
2018-06-16 19:52:12 +02:00
Magnus Norddahl
ddbf2f3166 - remove unused DrawerCommand::DebugInfo
(cherry picked from commit 628f6c32d9)
2018-06-16 19:20:21 +02:00
Magnus Norddahl
0a265d028d - use the worker threads to clear the stencil buffer
(cherry picked from commit de67393b4e)
2018-06-16 19:20:19 +02:00
Magnus Norddahl
fe940d09a6 - enable model rendering in the software renderer
(cherry picked from commit 85f5f897d7)

# Conflicts:
#	src/polyrenderer/scene/poly_playersprite.cpp
#	wadsrc/static/menudef.txt
2018-06-16 19:20:17 +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
Magnus Norddahl
f70715e25a - fix software renderer dynamic lights not working properly in mirrors
(cherry picked from commit f5386a706f)
2018-06-05 21:15:12 +02:00
Magnus Norddahl
d0ff0bcaf2 - draw models in mirrors and portals at the right location in the software renderer
(cherry picked from commit b74a9965b8)
2018-06-05 21:15:12 +02:00
Magnus Norddahl
b07c4c41c7 - always store 255 in alpha channel for opaque things as the alpha channel is no longer ignored by the framebuffer backend (software drawer)
(cherry picked from commit 25784c2e57)
2018-06-03 20:13:12 +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
Magnus Norddahl
d086c3d4dc - removed the 8x8 block drawing code from softpoly
(cherry picked from commit a186677092)
2018-06-03 19:46:38 +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
60929f353f - replace softpoly block drawers with span drawers and make them use blending rules directly from render styles
- add dynlights to softpoly pal mode

(cherry picked from commit 4e6226fc2d)
2018-05-30 11:56:15 +02:00
Magnus Norddahl
1055e45566 - Modify TriBlendMode enum to match the render styles
(cherry picked from commit 190b673890)
2018-05-30 11:55:53 +02:00
Magnus Norddahl
77071dedcf - add two-sided culling support in software and poly
(cherry picked from commit 8098657cf4)
2018-05-24 10:30:12 +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
drfrag666
9416219ea5 - Fixed bad merge of "- Clean up PolyTriangleDrawer API" 2018-05-13 19:11:29 +02:00
Magnus Norddahl
5ade87d974 - move 3d floor code into functions
(cherry picked from commit 643828f5fa)
2018-05-12 11:41:00 +02:00
Magnus Norddahl
4a390a1c27 - more pointless complexity removal
(cherry picked from commit e4d740e586)
2018-05-12 11:40:59 +02:00
Magnus Norddahl
ba6c4e4c4a - remove pointless code
(cherry picked from commit acf9f55849)
2018-05-12 11:40:57 +02:00
Magnus Norddahl
ee5db9963b - fixed sloped drawer crash
(cherry picked from commit b0cc472e85)
2018-05-11 12:40:27 +02:00
Magnus Norddahl
14f9c63cd7 - added r_debug_draw that shows how the software renderer composes its scene
(cherry picked from commit 459f748c4e)
2018-05-10 21:57:12 +02:00
Magnus Norddahl
8014b97c3d - 3d floor clipping support for models
(cherry picked from commit b27655db70)
2018-05-10 21:53:46 +02:00
Magnus Norddahl
07b067c218 - GetTimeFloat is not renderer specific
(cherry picked from commit 49c9de350f)
2018-05-10 21:53:31 +02:00
Magnus Norddahl
216ecd7e07 - fix hud model clipping
(cherry picked from commit bfe6bffd33)
2018-05-10 21:53:07 +02:00
Magnus Norddahl
5a6eb48690 - fixed missing depth for models
(cherry picked from commit 4642861501)
2018-05-10 21:29:37 +02:00
Magnus Norddahl
2f1c5ee5d2 - fix translucent walls when r_models is enabled
(cherry picked from commit 1d929dd79b)
2018-05-10 21:21:51 +02:00
Christoph Oelckers
7b822807de - renamed the flag bits for sector_t::MoreFlags, so that they are easier to distinguish from sector_t::Flags.
- precalculate if a sector's floor and ceiling plane overlap. This avoids rechecking this for each single call of hw_FakeFlat.
- vertices must be marked dirty every time they change after map setup. That means that ChangePlaneTexZ must do this as well, because it cannot rely on interpolation taking care of it.
- Having a 'dirty' argument for SetPlaneTexZ's ZScript version makes no sense. If the value changes from the script side the vertices must always be marked to be recalculated.

(cherry picked from commit 9bdb0f2e49)
2018-05-10 19:49:02 +02:00
Christoph Oelckers
8a3a293bf8 - use sector_t::GetHeightSec consistently and optimize it.
This was all over the place, with half of it using the function and half doing incomplete checks on the underlying variables.
Also did some optimization on the IGNOREHEIGHTSEC flag: Putting it on the destination sector instead of the model sector makes the check even simpler and allows to precalculate the effect of 3D floors on the heightsec, which previously had to be run on every call and made the function too complex for inlining.

(cherry picked from commit f49c6cbde2)

# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	src/hwrenderer/scene/hw_sprites.cpp
2018-05-10 19:20:11 +02:00
Magnus Norddahl
7a3433bb71 - disable software models
(cherry picked from commit ee443b6fb6)

# Conflicts:
#	src/polyrenderer/scene/poly_playersprite.cpp
2018-05-09 11:27:15 +02:00
Magnus Norddahl
8f930ee571 - Fix depth values when screenblocks less than 11
(cherry picked from commit 1a5f679d43)
2018-05-09 11:16:51 +02:00
Magnus Norddahl
8296b6ae81 - Fix model projection matrix
(cherry picked from commit b1355d472c)
2018-05-09 11:10:38 +02:00