Commit graph

822 commits

Author SHA1 Message Date
nashmuhandes
db92e63e22 Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2 2022-01-22 18:06:05 +08:00
Rachael Alexanderson
64f4332b43 - add cmath includes to fix the mac compile std::floor errors 2022-01-20 13:31:57 -05:00
nashmuhandes
f79bbed130 Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2 2022-01-20 14:19:45 +08:00
Christoph Oelckers
84458ddb9f - redid postprocessing shader interface to be free of the player dependency.
This is something that really should be done in higher level code - the shader interface should only concern itself with the shader and not the conditions that block its use.
The Shader class has been redone as a thin wrapper and been deprecated.
2022-01-17 00:07:43 +01:00
nashmuhandes
1b95f2515b Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2 2021-11-10 19:57:49 +08:00
Christoph Oelckers
7f66df2625 - fixed compiler warnings 2021-11-06 23:55:16 +01:00
alexey.lysiuk
8db550d251 - fixed compilation of POSIX Debug targets
src/rendering/2d/f_wipe.cpp:291: undefined reference to `Wiper_Melt::HEIGHT'
2021-10-30 15:58:07 +03:00
Christoph Oelckers
77d74a11d1 - removed most templates.h includes. 2021-10-30 10:49:12 +02:00
Christoph Oelckers
07a181090b - missed some MAX's. 2021-10-30 10:45:58 +02:00
Christoph Oelckers
1d0aed219e - replaced MIN/MAX in all non-common code. 2021-10-30 10:16:52 +02:00
Christoph Oelckers
226666ce7f - replaced MIN/MAX with min/max from the C++ standard library in the software renderer 2021-10-30 10:08:11 +02:00
Magnus Norddahl
d853961a83 Fix vulkan buffers not using the stream usage for the 2d drawer
Add BufferUsageType enum to clarify what kind of usage is expected by the buffer allocated by SetData
2021-10-26 22:43:38 -04:00
nashmuhandes
1c3e0f1a75 Added 'NoPerPixelLighting' flag to models to force it to not use per-pixel lighting. Main use case is for voxels that have been converted to models. 2021-10-22 07:57:11 +02:00
nashmuhandes
4b386fd268 Merge branch 'lightmaps2' of https://github.com/dpjudas/gzdoom into lightmaps2 2021-10-15 12:52:17 +08:00
Magnus Norddahl
81f7b083c0 Improve light probe lookup speed for large sectors by using a grid instead of subsectors 2021-10-15 04:21:18 +02:00
nashmuhandes
ea560172f7 Add light probes to wall decals 2021-10-14 17:35:44 +08:00
Magnus Norddahl
6a804cd4c7 Fix lightmaps got applied to model meshes 2021-10-14 06:11:54 +02:00
Magnus Norddahl
764a08752f Use a faster way to find the closest light probe
Fix light probe not being applied to psprite
2021-10-14 05:43:35 +02:00
Magnus Norddahl
b59bd46b79 Fix crash in GetDynSpriteLight when the actor is null 2021-10-08 21:47:43 +02:00
nashmuhandes
635a279186 Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2 2021-10-08 16:26:26 +08:00
Christoph Oelckers
8d9d56c339 - push sprite shadows a little back for distance sorting
They always need to be behind sprites with the same distance.
2021-10-05 13:57:31 +02:00
Magnus Norddahl
247deff5bb Fix using wrong lightmap UV coordinates after all the wall clipping did its thing 2021-10-03 03:47:40 +02:00
Magnus Norddahl
0ac1baac48 Simplify the lightmap array slightly 2021-10-02 22:14:56 +02:00
Magnus Norddahl
e0ea5e3b55 Add light probe support for sprites 2021-09-25 18:53:18 +02:00
Magnus Norddahl
63ecb36889 Add lightmap texture support to vulkan backend
Also fix a warning in SetFlatVertex
2021-09-25 00:13:25 +02:00
nashmuhandes
934b5af975 Add lightmaps to 3D floors 2021-09-24 17:42:34 +08:00
nashmuhandes
3f3769afdb - implement drawing sides with lightmaps
- misc bug fixes in lump loading and format
2021-09-24 17:27:23 +08:00
nashmuhandes
2f8cff90b6 - Add lightmaps to the main shader (currently only OpenGL)
- Create a version of CreateIndexedSectorVertices that works with lightmap sectors
2021-09-24 16:56:15 +08:00
Christoph Oelckers
a0043ec09d - better handling of texture clamp state.
Free combination of clamping with all texture modes still missing in GLES and Softpoly renderers!
2021-09-19 14:54:34 +02:00
Christoph Oelckers
fb107f80e6 - fixed vertex generation when splitting walls by planes on old hardware. 2021-09-18 13:09:05 +02:00
Christoph Oelckers
31de21e6aa - GLES fixed: The weapon sprite must be rendered with the fullscreen colormap on. 2021-09-18 10:27:41 +02:00
Christoph Oelckers
67958833b7 Merge branch 'gles2_merge' 2021-09-17 21:22:41 +02:00
Christoph Oelckers
918e9e9b0d - fixed texture clamping for elements that are partially behind a slope.
This is mainly mid textures on linedefs and decals.
2021-09-17 00:25:28 +02:00
Christoph Oelckers
b0382599f6 - removed the SSBO block for desktop OS’s when gl_pipeline_depth is enabled 2021-09-14 00:13:08 +02:00
Christoph Oelckers
b550f57ce3 - fixed: Brightmap application for horizons was undefined..
This depended on the state of the previously rendered portal which could have switched it off.
2021-09-12 08:37:19 +02:00
Rachael Alexanderson
2096fefcee Merge remote-tracking branch 'origin/master' into gles2_merge 2021-08-18 12:31:47 -04:00
13bdd324e1 hud models: add nullptr check for psprites without caller. 2021-08-15 08:47:04 +02:00
Christoph Oelckers
109069f718 - removed the unused palette parameter from the V_GetColor family of functions. 2021-08-14 09:57:23 +02:00
Rachael Alexanderson
92a3731f20 Merge remote-tracking branch 'origin/master' into gles2_merge 2021-08-13 08:11:58 -04:00
888eab3063 HUD model tweaks:
- Look up HUD models by referencing the psprite's caller, rather than player's ReadyWeapon.
- Allow Strife hands psprite to be a model.
2021-08-11 20:09:25 +02:00
Christoph Oelckers
1097bd6c73 - fixed: instead of checking gl_lights, better check Level->HasDynamicLights.
Especially in the thinker code this is needed for software rendering.
Strictly speaking, the software renderer should do the same, but it checks r_dynlight in so many places deep in the logic where the level is not available.
2021-08-11 14:09:00 +02:00
Christoph Oelckers
f662c629e3 - ensure that shadowmap indices only get set when shadowmaps are enabled.
Having valid indices set when shadowmaps are off would cause the shader to run the full checks for all lights.
2021-08-11 10:06:22 +02:00
Christoph Oelckers
c24f644a61 - do not perform shadowmap updates when dynamic lights are disabled. 2021-08-11 08:08:29 +02:00
Christoph Oelckers
441cd0796f - merged gzdoom-gles2 and fixed some issues with pipeline size validation. 2021-08-03 20:12:19 +02:00
Jeroen de Baat
8ac8e31a61 Fix typo in sw renderer comment 2021-07-21 20:58:41 +02:00
Christoph Oelckers
0cffeef2c6 - added map option to disable shadowmaps.
Prompted by 'Hurt' which has > 4000 lights and runs into both performance issues and unpredictable light selection for the limited amount of shadowmap slots.
2021-07-13 11:54:25 +02:00
Christoph Oelckers
e82fd43313 - tweaked shadow code a bit.
* let CASTSPRITESHADOW act as an override for render style checks. If this is set we can assume that a shadow is desired regardless of style.
* reordered code to do the more costly checks only when needed.
2021-07-02 09:12:26 +02:00
Christoph Oelckers
5273ef360e - fixed: shadow alpha for translucent objects was not correct in the hardware renderer. 2021-07-02 08:54:15 +02:00
Christoph Oelckers
8547a55677 - better sprite shadow control
* exclude sprites which are not either opaque or use regular blended translucency from casting shadows.
* exclude wall and flat sprites from casting shadows.

In both of these cases the shadow math is unable to produce anything useful that doesn't look off.
2021-07-02 08:47:58 +02:00
emily
4f034950be Make sprite shadows ignore float bob 2021-06-06 13:40:17 +02:00