Thaddeus Crews
452dc667fb
Merge pull request #106592 from beicause/shader-fix-editor-mat-default
...
Shader: Fix the default behavior when mat uniforms are null
2025-05-22 12:15:08 -05:00
clayjohn
9a1def8da1
Add new StandardMaterial properties to allow users to control FPS-style objects (hands, weapons, tools close to the camera)
...
Add new shader built in Z_CLIP_SCALE to easily adjust clipping distance to avoid clipping walls etc.
Add fov_override to StandardMaterial3D to easily have a custom FOV for FPS objects
Add IN_SHADOW_PASS built-in to shaders for tweaking materials without impacting shadow maps
2025-05-21 10:16:05 -03:00
LuoZhihao
4621d3e1f4
Shader: Fix the default behavior when mat uniforms are null
2025-05-21 13:28:39 +08:00
Capry
9828c365c3
Add support for bent normals for indirect lighting and specular occlusion
2025-05-12 12:52:04 +02:00
landervr
56730d0cb2
Add specular occlusion from ambient light
...
Co-authored-by: guerro323 <kaltobattle@gmail.com >
2025-05-08 23:52:01 +02:00
dsmtE
4e68f277c6
add REGION_RECT
...
fix formatting
fix shader compile (region_rect after draw_data)
fix formatting
fix formatting
Review fix (move region_rect in main + remove useless visual shader options)
fix formatting
fix alphabetic order (+ remove useless action for spatial shaders)
typo + remove TYPE_LIGHT option for region_rect
2025-04-30 11:07:22 +02:00
Thaddeus Crews
a6979ef664
Merge pull request #97801 from basicer/srgb-color-hint
...
Add `color_conversion_disabled` shader hint.
2025-04-14 19:39:42 -05:00
Thaddeus Crews
c7e9dc96a4
Rendering: Fix Math constant conversion
2025-04-11 12:33:57 -05:00
Rob Blanckaert
8c54290b4a
Add color_conversion_disabled shader hint.
...
Sometimes shaders want to accept a color as input that is always
in the srgb color space. This adds a hint to vec3/vec4 to enable
the color picker popup for those vectors but disable color space
conversion.
2025-04-10 21:31:15 -07:00
Thaddeus Crews
94282d88f9
Core: Use Math namespace for constants
2025-04-10 16:29:30 -05:00
A Thousand Ships
466590d0ec
Use get_slicec instead of get_slice for single character splitters
2025-03-08 20:36:37 +01:00
Chaosus
570e59df3d
Fix shader uniforms has null as default value
2025-01-31 07:35:51 +03:00
MathdudeMan
964cd6525e
Fix: Mass property particle shader error
2025-01-28 21:00:26 -05:00
Thaddeus Crews
2fcd8223e8
Merge pull request #99538 from Geometror/lightmap-gi-transparent-surface
...
Add transparency support for LightmapGI
2024-12-19 19:59:52 -06:00
Hendrik Brucker
a3525bc015
Add transparency support for LightmapGI
...
Co-authored-by: Guerro323 <kaltobattle@gmail.com >
2024-12-18 19:36:16 +01:00
kobewi
ceefc0d38a
Implement 2D instance shader parameters
...
Co-authored-by: kobewi <kobewi4e@gmail.com >
Co-authored-by: yesfish <huwpascoe@users.noreply.github.com >
Co-authored-by: Álex Román Núñez <eirexe123@gmail.com >
2024-12-17 23:59:16 +01:00
tetrapod00
899f5151c3
Standardize terms for renderers in error strings
...
Use "Forward+", "Mobile", "Compatibility", and "renderer" or "rendering method".
2024-11-10 13:30:44 -08:00
Chaosus
463e81413e
Make OUTPUT_IS_SRGB/CLIP_SPACE_FAR shader built-ins global
2024-10-24 12:32:05 +03:00
Clay John
842f982397
Merge pull request #96819 from clayjohn/GLES3-instance-uniforms
...
Implement instance uniforms in Compatibility renderer
2024-10-07 13:41:47 -06: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
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
clayjohn
29df589632
Implement instance uniforms in Compatibility renderer
2024-09-10 12:20:47 -07:00
Yuri Rubinsky
af92fdb0ac
Add basic support to evaluate operator value in shader language
2024-09-09 15:12:11 +03:00
Chaosus
f538376c3b
Add CLIP_SPACE_FAR built-in to spatial shader
2024-08-27 08:48:46 +03:00
Yuri Rubinsky
e41048e16e
Fix texture samplers to not being last in the property list
2024-07-29 09:19:09 +03:00
Yuri Rubinsky
574e61a542
Fix crash when assigning more textures than expected to texture array
2024-07-22 20:51:11 +03:00
Rémi Verschelde
590628feda
Merge pull request #86516 from jsjtxietian/fix-camera-direction
...
Fix incorrect `CAMERA_DIRECTION_WORLD` calculation
2024-07-18 10:45:20 +02:00
clayjohn
27b040dc61
Remove warning when project setting requests a larger global shader uniform buffer than the hardware supports.
...
Instead provide a better error message when the limit is exceeded and avoid crash with a small limit.
2024-06-28 10:38:18 +02:00
clayjohn
ea4be9afa6
Add more validation to UBO size and alignment in Compatibility renderer
2024-06-14 12:56:29 -07:00
Rémi Verschelde
f91db3dc58
Merge pull request #91399 from QbieShay/qbe/fix-pmul-name
...
Revert premul alpha to spell without the T
2024-05-01 23:47:46 +02:00
QbieShay
e41064388e
reverted naming to premul alpha (no T)
...
Initially 3d had premulT alpha as a keyword.
Since Canvas item uses mixed premul and premult as keywords,
3D is changed as well to keep consistency with 2D.
Unfortunately this keeps inconsistency with the internal ENUM.
2024-05-01 22:24:49 +02:00
Chris Clyne
44364faee5
Ensure global shader sampler parameters are initialized when loading the editor
2024-05-01 18:12:46 +01:00
QbieShay
41a2b0e83e
Added premult alpha blending to 3D (spatial) shaders.
...
Co-authored-by: jitspoe <jitspoe@yahoo.com >
Co-authored-by: Clay John <claynjohn@gmail.com >
2024-05-01 00:53:29 +02:00
Rob Blanckaert
ffe0b869f5
Add LIGHT_VERTEX to fragment shader
...
Adds a new variable to the fragment shader to specify
the vertex position used when calculating lighting.
2024-04-25 06:56:02 -07:00
clayjohn
2c7dd35822
Ensure proper vertex input masks are used in 2D compatibility renderer
2024-02-27 15:39:20 -08:00
Erik Johnson
eab95698cd
Fix shadows for billboarded Sprite3D's
2024-02-13 10:36:38 +01:00
Rémi Verschelde
4a30fe5e7c
Merge pull request #86564 from Giwayume/feature/canvas-item-shader-custom-data
...
Support CUSTOM shader attributes in 2D
2024-02-08 10:53:24 +01:00
jsjtxietian
2004ad1ac5
Clean up outdated USE_LIGHT_SHADER_CODE usage
2024-01-24 12:30:27 +08:00
Giwayume
bb83c4adec
Add custom shader attributes to Canvas Item Shaders
2024-01-23 14:36:39 -05:00
jsjtxietian
89d7a2f0a5
Fix incorrect CAMERA_DIRECTION_WORLD calculation
2023-12-26 14:09:44 +08:00
Rémi Verschelde
a311a4b162
Merge pull request #83976 from BastiaanOlij/gles3_msaa_scaler
...
Add 3D MSAA and scaling support to GLES3
2023-12-07 14:36:42 +01:00
Bastiaan Olij
caddce14dd
Add 3D MSAA and scaling support to GLES3
2023-12-05 10:01:00 +11:00
clayjohn
c0c1efc5da
Use vertex input mask for creating vertex arrays
...
Also fix bug in creation of vertex input mask
2023-11-19 16:32:55 +01:00
Rémi Verschelde
0e04203293
GLES3: Ensure all ShaderData is properly initialized in set_code
...
Fixes #84418 .
2023-11-11 15:13:23 +01:00
clayjohn
9c5adac342
Properly rename INSTANCE_ID and VERTEX_ID in canvas item shaders in the compatibility backend
2023-11-07 17:55:51 +01:00
clayjohn
d1043a5f93
Enhance checks and user experience around tangents.
...
Ensure `ensure_tangents` option actually creates tangent array. Even if it is just a dummy array.
Allow mesh to generate its own tangents when using compression. This allows users to compress meshes without tangents.
Warn users if they are trying to read from tangents without providing tangents.
2023-11-01 22:40:42 +01:00
Rémi Verschelde
55282ddc10
Merge pull request #79527 from QbieShay/qbe/particles-rework
...
Particle internal refactor and additions for more artistic control
2023-10-10 22:48:50 +02:00
QbieShay
c228fe1a0d
Particle internal refactor and additions for more artistic control
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro >
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com >
Co-authored-by: Raul Santos <raulsntos@gmail.com >
Co-authored-by: Mew Pur Pur <85438892+MewPurPur@users.noreply.github.com >
Co-authored-by: Clay John <claynjohn@gmail.com >
2023-10-10 20:03:35 +02:00
A Thousand Ships
f18aa00e85
Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable
2023-10-08 17:23:33 +02:00
clayjohn
04846c1d6d
Avoid default fallback material when using world_vertex_coords
...
This avoids z-fighting between the opaque shader and the depth prepass shader
2023-10-05 19:11:48 -06:00