Commit Graph

102 Commits

Author SHA1 Message Date
SirLynix 9ada93b995 Remove spaces before line feed 2024-01-25 14:38:06 +01:00
SirLynix f46f0da12a Graphics/Shaders: Fix point and spot lights in PhysicallyBasedMaterial 2024-01-04 00:03:32 +01:00
SirLynix 1ac992b5c7 Graphics: Add Billboard support 2023-11-25 15:52:58 +01:00
SirLynix b7aca4b22a Graphics: Update material shaders 2023-11-16 09:00:21 +01:00
SirLynix 86e26008b3 Minor fixes 2023-11-12 12:51:56 +01:00
SirLynix 6a9177a109 Graphics/ShadowMapping: Replace bias by a position scale
Inspired by Godot (see https://github.com/godotengine/godot-proposals/issues/4517)
2023-10-21 19:31:07 +02:00
SirLynix ca4f1b49ac Graphics/Shaders: Adjust PBR ambient 2023-10-14 16:44:36 +02:00
SirLynix d92a307fb8 Graphics/Shader: Add light shadow support to PBR 2023-10-14 14:46:49 +02:00
SirLynix ceedfbabaf Graphics/Shaders: Move shadow factor to a separate file 2023-10-14 14:46:49 +02:00
SirLynix addbb98671 Graphics/Shaders: Add support for DistanceDepth (aka point-light shadow maps) 2023-10-14 14:46:49 +02:00
SirLynix 9aebb4f745 Graphics: Rework shadowing (add cascaded shadow mapping)
- Add support for per-viewer shadows
- Add cascaded shadow mapping for directional lights (wip)
- Rework the way lights are sent to the shaders (they are now selected once per viewer)
- Fixes PointLight shadow mapping (using a dedicated pass)
- Lights out of frustum for every viewers are no longer processed (wip)
2023-10-14 14:46:49 +02:00
SirLynix 929b599337 Graphics/ViewerData: Add near and far plane 2023-10-14 14:46:49 +02:00
SirLynix d40b8af68d Graphics: Add gamma correction 2023-10-13 19:56:07 +02:00
SirLynix 2c6191987f Graphics/PhongMaterial: Add option to disable shadow mapping (and disable it by default on web) 2023-04-10 17:25:18 +02:00
SirLynix f952c64642 Graphics/BasicMaterial: Fix compilation error when no UV are available ...
... but textures are mapped
2023-04-10 17:12:40 +02:00
SirLynix 5833ce573d Graphics: Switch glyph atlases to R8 instead of A8
A8 can't be supported efficiently on API lacking texture swizzle support (DX, WebGL, WebGPU), so we swizzle in the shader instead
2023-02-22 19:11:41 +01:00
SirLynix 5567a39a65 Fix widgets 2023-02-02 20:34:25 +01:00
SirLynix 292ca60592 WIP 2023-02-02 20:34:25 +01:00
SirLynix 780359eb8b Graphics: Fix point light shadowmaps 2022-12-08 18:28:17 +01:00
SirLynix f8238a6e6c Graphics: Implement point-light shadow-mapping 2022-12-08 18:17:13 +01:00
SirLynix f580ba523d Graphics: Send shadow map res to shader 2022-12-08 18:17:13 +01:00
SirLynix e990a320cc WIP 2022-12-08 18:17:13 +01:00
SirLynix 4a10c1f8fe Add shadow mapping (wip) 2022-12-08 18:17:13 +01:00
SirLynix 5502e51d71 Graphics: Move skinning to a separate module 2022-11-05 00:26:56 +01:00
SirLynix ab154819a7 Graphics: Make use of new auto_binding 2022-10-31 22:44:19 +01:00
Jérôme Leclercq dc6ce8427c
Refactor material system (#382) 2022-10-31 19:53:41 +01:00
SirLynix a8c54abdd0 Graphics: Add skinning support to DepthMaterial 2022-09-08 08:57:37 +02:00
SirLynix 7ada266917 Graphics: Add PredefinedSkeletalData 2022-08-25 12:59:01 +02:00
SirLynix b37af6da31 Final skeletal fixes 2022-08-25 12:59:01 +02:00
SirLynix a9801894e8 Merge fixes 2022-08-25 12:59:01 +02:00
SirLynix 104f60f3e7 Add support for GPU skinning (WIP) 2022-08-25 12:59:01 +02:00
Lynix ad8b46db38 Rename Diffuse to BaseColor 2022-07-19 20:02:01 +02:00
SirLynix bcdb0f98f0 Move Cook-Torrance functions to a separate module 2022-07-18 22:04:44 +02:00
SirLynix b2fad27618 Fix basic material and add demo 2022-07-18 22:04:44 +02:00
SirLynix ccd7885213 Fix compilation 2022-07-18 22:04:44 +02:00
SirLynix 3e21b4bea6 Add PBR rendering (WIP) 2022-07-18 22:04:44 +02:00
SirLynix cefa620b20 PhongMaterial: Move TBN computation to fragment shader 2022-06-28 08:56:43 +02:00
SirLynix 6f18a02999 Add fullscreen vertex shader module 2022-06-16 19:26:57 +02:00
SirLynix 510ef8c41e Update shaders to new import syntax 2022-06-05 18:51:46 +02:00
Lynix 83de0939bb Shader: Fix validation and cast from u32 to i32 2022-04-02 21:20:01 +02:00
SirLynix 8146ec251a Shader: Add support for partial sanitization 2022-03-25 12:54:51 +01:00
Jérôme Leclercq 801b06abfe Shader: Fix module overwriting 2022-03-15 18:35:02 +01:00
Jérôme Leclercq 0e92ef823d Graphics: Use module name to retrieve material shaders 2022-03-15 13:14:43 +01:00
Jérôme Leclercq e40e8eb204 Shader: Change module system (no longer based on path) 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 2f26a1d9c7 Graphics: Move LightData to a shader module and add hotreload in debug 2022-03-14 18:30:55 +01:00
Jérôme Leclercq db0c1e6e8c Shader: Add module resolver + use modules for engine shaders 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 99e07e6e1e Shader: Add module statement 2022-03-14 18:30:55 +01:00
Jérôme Leclercq a1b6f51398 Minor fixes 2022-02-21 20:46:37 +01:00
Jérôme Leclercq 402e16bd2b Shader: Handle type as expressions 2022-02-17 13:23:56 +01:00
Jérôme Leclercq 8a3a8547dc Add light support (WIP) 2022-02-02 12:55:39 +01:00