Commit Graph

89 Commits

Author SHA1 Message Date
SirLynix fa54f1a3e4 Graphics/Material: Fix error message when module is not init 2023-11-04 17:52:47 +01: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 cf6fdf258f Graphics: Add new functions to get default material types/presets 2023-08-08 18:17:58 +02:00
SirLynix dfe6b2ddcf Make use of the new EnumMap class 2023-05-30 12:32:37 +02:00
SirLynix f98cbcd00a Copyright year update 2023-01-22 17:41:18 +01:00
SirLynix e990a320cc WIP 2022-12-08 18:17:13 +01:00
SirLynix be9fba3190 Graphics/Material: Fix uniform buffer size 2022-12-08 13:06:50 +01:00
SirLynix 1205155466 Graphics/Material: Rename CreateInstance to Instantiate 2022-11-05 00:14:16 +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 fbdc1faf8c Graphics: Add TextureLoader 2022-09-07 13:31:21 +02:00
Jérôme Leclercq 5ce8120a0c Graphics: Move FramePipeline passes to separate classes 2022-02-16 18:29:27 +01:00
SirLynix 89c7bbf197 Update copyright date 2022-01-01 15:30:09 +01:00
Jérôme Leclercq ed7ab31933 Apply copyright fix to all files 2021-10-26 14:31:35 +02:00
Jérôme Leclercq 9a311da2c8 Graphics: Add MaterialPassRegistry 2021-08-19 18:47:11 +02:00
Jérôme Leclercq b5045a2c59 Graphics: Add Material and made use of passes (WIP) 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 5669b5bc60 Graphics: Rename Material to MaterialPass 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 90df17d45a Graphics/Material(Pipeline): Remove leftovers attributes 2021-07-13 14:38:09 +02:00
Jérôme Leclercq a895e553d4 Graphics: rework ubershaders to prevent duplicate shaders modules
Also rename all remaining conditions to options
2021-07-08 14:52:39 +02:00
Jérôme Leclercq 3cd9172f7a Graphics: Make use of shader binding sets 2021-06-16 16:50:00 +02:00
Jérôme Leclercq cce32a64d4 Upgrade Utility 2021-05-25 10:40:07 +02:00
Lynix 13feaf4aab Renderer: RenderWindow now requires a RenderDevice 2021-05-16 23:13:00 +02:00
Jérôme Leclercq 08c2f711b0 Graphics/Material: Add UpdateBuffers 2021-02-15 18:16:19 +01:00
Jérôme Leclercq b9151d8a7a Graphics: Improve TextureSampler handling 2021-01-27 18:50:49 +01:00
Jérôme Leclercq 19783f7755 Graphics/Material: Rework UBO handling 2021-01-22 23:31:54 +01:00
Jérôme Leclercq f327932738 Commit current work
Reworked conditions, added uber-shaders, comparison nodes, fixed Discard
2021-01-02 21:15:59 +01:00
Jérôme Leclercq 89609570f4 Graphics: WIP (almost working) 2020-10-30 23:08:48 +01:00
Jérôme Leclercq 3b2e375382 WIP 2020-09-26 20:04:05 +02:00
Jérôme Leclercq 2a875c8bdc Remove Graphics module and fix compilation 2020-08-27 19:43:31 +02:00
Lynix c23b6dfa01 Copyright year update
I can't wait to see the conflicts this will cause
2020-03-05 17:27:26 +01:00
Lynix 3d22321109 Big f***ing cleanup part 1 2020-02-23 00:42:22 +01:00
Lynix a3a4ed89b8 Graphics/Material: Fix reflection mode not being copied 2018-08-25 22:41:05 +02:00
Jérôme Leclercq 8cdc36c948 Graphics/Material: Add parameter for vertex color 2018-06-15 14:15:23 +02:00
Lynix 786a11fc78 Graphics/Material: Fix missing reflection initialization 2017-10-31 00:14:50 +01:00
Gawaboumga bbac0838dd Include-What-You-Use (#137)
* IWYU Core

* IWYU Noise

* IWYU Utility

* IWYU Audio

* IWYU Platform

* IWYU Lua

* IWYU Network

* IWYU Physics2D

* IWYU Physics3D

* IWYU Renderer

* IWYU Graphics

* IWYU NDKServer

* IWYU Fix

* Try to fix compilation

* Other fixes
2017-10-01 11:17:09 +02:00
Jérôme Leclercq 308f6d7448 #Oops 2017-05-29 20:00:39 +02:00
DrLynix f383eca19a Update copyright year 2017-01-20 12:58:35 +01:00
Lynix 682dab32b3 Graphics/Shader: Make texture units statics
Provides better performances and prevents the sampler type bug to happen
2016-12-18 01:13:46 +01:00
Lynix ac25df0126 Graphics: Separate pipeline state from Material into a new class, MaterialPipeline
This allows much more efficient batching, along with pipeline reusage and preparation for the Vulkan API


Former-commit-id: fd2de2f0e9612ea275ee69c5578c68e7169cd05b [formerly 53bd8a5ed5695311b7543ad717df63f93fad2da6] [formerly 171740929652ac9fe30e84983709388859cedd6b [formerly 25096a76678f1052e76f67d26b458077a0632cc3]]
Former-commit-id: 7978dbeb87af2eac9e5501a97afa83849648bf6e [formerly 81b6cce1ee81a2ca8873d3c70d468b2c71510c95]
Former-commit-id: 6663e2721c3f79d5f1e3f33c6183174378b502f4
2016-08-05 22:11:13 +02:00
Lynix 56443c91e4 Renderer/RenderStates: Update RenderStates structure (preparing for renderer update)
Former-commit-id: 392c7c33ff64d19e0fe3c7bdc8b22fe17c150887 [formerly d12a3c5f664fccebe0ee40a73bb0310e2d02287e]
Former-commit-id: 22743f015567a8471f97cb90a06175f600ef0f8f
2016-07-21 23:00:09 +02:00
Lynix 0b0dfda89d Utility/MaterialData: Fix FaceCulling being used for FaceSide
Former-commit-id: b82f598a9c94700bea58d651b5f29dcf47251af1 [formerly 5790a8397870a66dfaeb9e56862e5fb2ae850cfc]
Former-commit-id: 93372a3b733d3c84de11abacc6eaa3804b98079a
2016-07-07 08:57:11 +02:00
Lynix c83b9d0491 Graphics/Material: Add SaveToParameters
Former-commit-id: 87b9ca6e0f5f391f45edf6106efbd550dd52ac53 [formerly 91ba614d69d3a2e9762da0e059ee96985c891749]
Former-commit-id: e049a9db776f407e2cd7635bfb1825d809223c77
2016-07-07 08:56:18 +02:00
Lynix 51533fabe9 Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine
Former-commit-id: 3878bde4d067ef921783f256b582af8f6463c19b [formerly 029a8e9081b66daf20a78ba7331a496d89145f44]
Former-commit-id: 47009b49149da0186169afc538618f2ab2973f89
2016-06-09 08:49:14 +02:00
Lynix 296be70a5c Graphics/Material: Ugly spaces to tabs
Former-commit-id: fe691ce50ec143681c8a916bab2f85270cedec06 [formerly c45aba3d7b6d8b47a90e5f8120c278785d68773b]
Former-commit-id: 04596ea0ca1bb7f1575a4db6a5ef309328922938
2016-06-09 08:48:04 +02:00
Gawaboumga 2c941827ed Documentation for module: Graphics
Former-commit-id: 1757c33318443aade1dc38e16d053240d7dc885c
2016-05-30 14:21:36 +02:00
Lynix 6c8d2ed03a Merge branch 'NDK-ShadowMapping'
Former-commit-id: 0fcd92b113069d2ee1edc74cf9be471cd6d97267
2016-05-13 13:06:23 +02:00
Lynix a15b31c646 Graphics/Material: Add Basic2D and Translucent2D materials
Former-commit-id: fd07cb7c039d0e30b6fe74378efb3208808f9d9b
2016-05-13 12:47:43 +02:00
Lynix 3b5d6e9cde Make mesh able to carry material informations
- Move OBJ Loader to Utility module, where it belongs
- Change Mesh material informations from a path to a parameterlist
- Improve Mesh code


Former-commit-id: f16f48f8b6399188a09797cec3707ab6726bdbca
2016-04-30 18:44:33 +02:00
Lynix 37aa00b2e7 Merge branch 'master' into NDK-ShadowMapping
Former-commit-id: e2be28b65207dfbb81efe58f31ca31548afecee7
2016-04-17 19:57:15 +02:00
Lynix ffb6a47435 Graphics/Material: Standardize flag testing
Former-commit-id: f2207fa4f1ad600aa09d8b484559bd9155a11f47
2016-01-19 12:22:43 +01:00