Commit Graph

1543 Commits

Author SHA1 Message Date
Rémi Verschelde 285ebed828
Merge pull request #83360 from ywmaa/vertex_shading
Implement vertex shading
2024-09-29 00:46:48 +02:00
ywmaa 0a9ad8f9de
Implement vertex shading
This adds support in all backends, but the Compatibility renderer works the best.
Mobile and Forward+ can only support one directional light shader (the first in the tree)
While the Compatibility renderer supports any number of shadows.

Co-authored-by: Clay John <claynjohn@gmail.com>
2024-09-29 00:36:09 +02:00
clayjohn 4d635b7a3a Combine texture and instance data into one uniform set in the 2D renderer
Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
2024-09-27 11:05:46 -07:00
Rémi Verschelde bfe74eca3b
Merge pull request #97428 from clayjohn/shadow-filter-jitter-rebase
Jitter shadow map dithering pattern across frames when TAA is enabled
2024-09-26 12:45:50 +02:00
Rémi Verschelde 991e6c92ab
Merge pull request #96923 from Repiteo/style/warning-admonition
Style: Add `WARNING:` as new comment admonition
2024-09-26 12:45:38 +02:00
Thaddeus Crews 32c83a228d
Style: Add `WARNING:` as new comment admonition 2024-09-25 09:44:42 -05:00
Thaddeus Crews 9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
Rie 5efa6ba489
Fix incorrect Reinhard tonemap operator 2024-09-25 12:34:23 +02:00
Hugo Locurcio 0eb06da057 Jitter shadow map dithering pattern across frames when TAA is enabled
This improves shadow quality by reducing the visibility of the noisy
pattern caused by dithering.

This jittering also applies when FSR2 is enabled, as it provides its own
form of temporal antialiasing.

Co-authored-by: Clay John <claynjohn@gmail.com>
2024-09-24 15:52:07 -07:00
Jiang Yiheng 864d4fb32a Fix hash calculation for NTSliceKey
A bug was introduced from 057367bf by adding FSR 2.2.1 support.
Which increases hash collision and hurts performance.
2024-09-22 21:08:18 +08:00
Rémi Verschelde 5f5c690481
Merge pull request #97260 from clayjohn/pixel_snap
Calculate pixel snap in canvas space instead of world space
2024-09-21 11:50:52 +02:00
clayjohn e75900e1ad Calculate pixel snap in canvas space instead of world space
This ensures that you are actually snapping to pixels in the viewport and not an arbitrary amount
2024-09-20 17:43:33 -07:00
David Snopek 1a6f8512bc Add external texture support (GLES3)
Co-authored-by: Fredia Huya-Kouadio <fhuyakou@gmail.com>
Co-authored-by: Mauricio Narvaez <nvz@meta.com>
2024-09-20 10:48:32 -05:00
Rémi Verschelde 34dd5e0c37
Merge pull request #97217 from stuartcarnie/97185_subpixel_rendering
Metal: Fix subpixel blending; fix inconsistent blend state
2024-09-20 16:07:03 +02:00
Thaddeus Crews b37fc1014a
Style: Apply new `clang-format` changes 2024-09-20 08:09:48 -05:00
Stuart Carnie e826ab9ba9
[2D,Metal]: Fix subpixel blending; fix inconsistent blend state in Metal 2024-09-20 15:16:31 +10:00
Rémi Verschelde b1b4c5da4b
Merge pull request #96928 from dsnopek/rename-and-expose-texture-create-external
Expose a function to create textures from a native handle in the compatibility renderer
2024-09-19 17:13:27 +02:00
David Snopek 7d56b09f23 Expose a function to create textures from a native handle in the compatibility renderer 2024-09-19 09:05:32 -05:00
Stuart Carnie 5b5dc00c52
2D: Remove redundant assignment 2024-09-17 06:32:49 +10:00
Rémi Verschelde 8c6210a3eb
Merge pull request #92290 from clayjohn/LOD-fixes
Use distance to AABB surface to calculate Mesh LOD instead of using supports
2024-09-16 13:34:04 +02:00
Stuart Carnie c113e5b143
2D: Fix use-after-free in batch rendering
Closes #96960
Fixes regression of #95574 using fix from #95666
2024-09-14 07:50:39 +10:00
clayjohn 7ff106f828 Use distance to AABB surface to calculate Mesh LOD instead of using supports 2024-09-11 14:17:09 -07:00
Stuart Carnie a657ea42f1
2D: Add batching to RendererCanvasRenderRD 2024-09-12 05:26:06 +10:00
Rémi Verschelde bc4c60c933
Merge pull request #94893 from rune-scape/no-const-cast-mesh-storage
Avoid `const_cast` in `mesh_storage.h`
2024-09-10 09:51:22 +02:00
Yuri Rubinsky af92fdb0ac Add basic support to evaluate operator value in shader language 2024-09-09 15:12:11 +03:00
Rémi Verschelde aa07333abe
Merge pull request #96114 from BlueCube3310/sh-lightmap-packing
LightmapGI: Pack L1 SH coefficients for directional lightmaps
2024-09-06 22:38:29 +02:00
BlueCube3310 a89f4fa5a9 LightmapGI: Pack L1 SH coefficients for directional lightmaps 2024-09-05 22:46:58 +02:00
Rémi Verschelde 82d7531a2e
Merge pull request #95990 from Breush/76166-sky-auto-radiance
Sky: Adapt radiance size if `AUTOMATIC_MODE` resolves to `REALTIME`
2024-09-04 17:12:02 +02:00
Alexis Breust 44e526d3d5 Sky: No more auto-selecting REALTIME mode if radiance is not 256 2024-09-04 10:54:08 +02:00
Rémi Verschelde 49ed6c558c
Merge pull request #86809 from clayjohn/TAA-disocclusion
Tune TAA disocclusion scale to avoid rejecting all samples during motion.
2024-09-03 16:13:26 +02:00
Rémi Verschelde d1c27f239d
Merge pull request #96486 from ComycSans/black_sky
Fix `SkyRD::Sky::free()` freeing shared material
2024-09-03 11:44:05 +02:00
Rémi Verschelde 63a8548693
Merge pull request #96426 from clayjohn/RD-reflection-probe-roughness
Use non-linear mapping for ReflectionProbe mip levels to match sky
2024-09-03 11:43:52 +02:00
Rémi Verschelde a2b64ed544
Merge pull request #95961 from RadiantUwU/fix-mesh-recursion
Fix shadow mesh recursion.
2024-09-03 11:43:16 +02:00
Rémi Verschelde 667778cf4d
Merge pull request #93448 from clayjohn/transmittance-fixes
Various fixes for transmittance effect
2024-09-03 11:42:57 +02:00
ComycSans 09e59fbec5 Fix SkyRD::Sky::free() freeing material 2024-09-02 18:59:31 +02:00
Rémi Verschelde f546bf6aea
Merge pull request #96431 from viksl/fix-alpha-reflections-cull-order
Fix alpha material's reverse cull order.
2024-09-02 12:13:57 +02:00
Rémi Verschelde f50ead48b0
Merge pull request #96128 from BlueCube3310/vram-profiler-texture-mem
Fix incorrect parameters for layered textures in VRAM texture memory profiler
2024-09-02 12:13:11 +02:00
viksl 929c69bad8 Fixes alpha materials being rendered with a reverse cull which is visible in reflections from reflection probes. 2024-09-01 12:10:04 +02:00
BlueCube3310 e74bc3079a Fix incorrect parameters for layered textures in Video RAM texture memory profiler 2024-09-01 11:49:30 +02:00
clayjohn 64f5443b14 Use non-linear mapping for ReflectionProbe mip levels to match sky 2024-09-01 01:40:42 -07:00
Radiant 70860aafd8 Fix shadow mesh recursion. 2024-08-31 22:31:43 +03:00
rune-scape f04a9bb630 Avoid const_cast in mesh_storage.h 2024-08-28 14:46:03 -07:00
Alula 346cbc7f1f
Add support for compiling with VS clang-cl toolset 2024-08-28 13:30:44 -05:00
Chaosus f538376c3b Add `CLIP_SPACE_FAR` built-in to spatial shader 2024-08-27 08:48:46 +03:00
Rémi Verschelde 68d188d521
Merge pull request #95888 from clayjohn/Lightmap-SH-coefficients
Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
2024-08-25 20:18:18 +02:00
Rémi Verschelde 568589c9d8
Merge pull request #90993 from darksylinc/matias-TheForge
Add debug utilities for Vulkan
2024-08-22 00:38:22 +02:00
Rémi Verschelde 0badddaccb
Merge pull request #95917 from BlueCube3310/lightmap-align-fix
LightmapGI: Fix shader data alignment after #89919
2024-08-22 00:10:53 +02:00
Rémi Verschelde 39b77ea04e
Merge pull request #95790 from aaronfranke/rect-aabb-support
Simplify Rect2/AABB `get_support` function
2024-08-22 00:10:39 +02:00
Matias N. Goldberg 364f916f3f
Add debug utilities for Vulkan
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
 - Debug-only Breadcrumb info for debugging GPU crashes and device lost
 - Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks

Functionality marked as "debug-only" is only available in debug or dev
builds.

Misc fixes:
 - Early break optimization in RenderingDevice::uniform_set_create

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +02:00
BlueCube3310 4aa145624e LightmapGI: Fix shader data alignment after #89919 2024-08-21 21:37:13 +02:00