Commit Graph

676 Commits

Author SHA1 Message Date
Jérôme Leclercq
2b9d8becea Math: Rework Frustum class 2021-08-23 18:43:34 +02:00
Jérôme Leclercq
db99196d3a Fix compilation with Linux 2021-08-21 02:04:53 +02:00
Jérôme Leclercq
0179ef4d65 Graphics: Improve frustum culling (do it once per viewer) 2021-08-21 01:42:53 +02:00
Jérôme Leclercq
8546631f62 Add frustum culling (WIP) 2021-08-19 23:26:34 +02:00
Jérôme Leclercq
a2a0e6bd54 Graphics: Add DepthMaterial 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
7aafcfaae9 Minor stuff 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
f5dac32020 Minor stuff 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
5ec7200644 Fix compilation 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
793952eb67 Graphics: Add Camera class 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
9a311da2c8 Graphics: Add MaterialPassRegistry 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
5b1123b971 Graphics: Fix WorldInstance removal while being in use 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
289472dc9f Graphics/ForwardFramePipeline: Minor fixes 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
3de0edec6f Graphics/RenderQueue: Remake it with a naive implementation
The idea is to improve it in the future, after profiling
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
08921b36a6 Graphics: Add RenderElement and ElementRenderer (WIP) 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
532fb7641f Graphics/BakedFrameGraph: Fix Resize method always returning true 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
7fb5109dfa Graphics/FrameGraph: Make use of RenderPassCache 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
52ec5d88f0 Graphics/FrameGraph: Fix depth stencil input not being taken into account for graph dependency 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
f61deabe92 Graphics/BakedFrameGraph: Don't release in flight resources 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
ae364934bb Graphics/CameraComponent: Add remaining features 2021-07-10 14:27:38 +02:00
Jérôme Leclercq
c72dfc8004 Graphics: Add forceDisableFeatures config 2021-07-09 12:37:11 +02:00
Jérôme Leclercq
8458301a64 Add support for depth clamping 2021-07-09 00:22:08 +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
1b4ab7e625 Graphics/BasicMaterial: Improve shader 2021-07-08 11:37:33 +02:00
Jérôme Leclercq
81b64e4fe2 Fix some shaders 2021-07-08 11:06:54 +02:00
Jérôme Leclercq
d3e0d8a39f Shader: Replace select_opt by const_select 2021-07-08 10:53:11 +02:00
Jérôme Leclercq
bfab451633 Remove resources headers (as they will be generated on compilation) 2021-07-07 22:44:38 +02:00
Jérôme Leclercq
1f6937ab1b Shader: Implement const if and const values 2021-07-07 22:38:24 +02:00
Jérôme Leclercq
f9af35b489 Shader: Attribute can now have expressions as values and struct fields can be conditionally supported 2021-07-07 22:38:24 +02:00
Jérôme Leclercq
cb82951c9a Fix Linux compilation 2021-07-06 11:29:14 +02:00
Jérôme Leclercq
4ac5fe7cba Graphics: Add RenderSystem and frame pipeline 2021-07-06 11:04:22 +02:00
Jérôme Leclercq
428a706fbe Replace basicmaterial nodes by NZSL source 2021-07-06 11:02:53 +02:00
Jérôme Leclercq
1c482bbde6 Graphics/BakedFrameGraph: Handle resize in a better way 2021-07-03 13:57:18 +02:00
Jérôme Leclercq
8eb1eb71ba Merge branch 'nazara-next' of https://github.com/DigitalPulseSoftware/NazaraEngine into nazara-next 2021-06-20 14:13:21 +02:00
Jérôme Leclercq
d2144c8941 Graphics/FrameGraph: Mark subpass deps tilables 2021-06-20 14:12:58 +02:00
Jérôme Leclercq
517ca2d9c2 Graphics/Shaders: Remove pseudo-lighting from BasicMaterial shader 2021-06-20 14:12:30 +02:00
Jérôme Leclercq
c1a9a22177 Add initial ECS support 2021-06-20 14:06:28 +02:00
Jérôme Leclercq
6f87a01fb2 Graphics: Improve WorldInstance handling 2021-06-20 14:06:28 +02:00
Jérôme Leclercq
b13c5c950a OpenGLRenderer: Implement face filling 2021-06-20 14:06:28 +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
815a7b0c62 Replace const ShaderAst::StatementPtr& by ShaderAst::Statement& in input 2021-06-16 16:50:00 +02:00
Lynix
54d56abc56 WIP 2021-06-16 16:50:00 +02:00
Jérôme Leclercq
26f5d01c86 Graphics/BakedFrameGraph: Fix command buffer destruction when skipping a framepass 2021-06-06 16:00:03 +02:00
Jérôme Leclercq
86097b331b Renderer: Add support for device-enabled features (anisotropic filtering) 2021-06-05 19:51:48 +02:00
Jérôme Leclercq
e26c1f8e68 Graphics: Add ViewerInstance class 2021-06-05 19:06:02 +02:00
Jérôme Leclercq
743f8eeb24 Graphics/ModelInstance: Add UpdateWorldMatrix method 2021-06-05 19:05:06 +02:00
Jérôme Leclercq
9ee3a0d6be DeferredShading: Add bloom 2021-06-01 20:28:19 +02:00
Jérôme Leclercq
6fe7e5b16b Graphics/FrameGraph: Fix infinite recursion when traversing graph 2021-06-01 16:24:14 +02:00