Commit Graph

2741 Commits

Author SHA1 Message Date
Jérôme Leclercq 2b9d8becea Math: Rework Frustum class 2021-08-23 18:43:34 +02:00
ImperatorS79 b2ae2261e4 Update Prerequisites.hpp 2021-08-21 17:22:58 +02:00
ImperatorS79 befcab7e4e Enable mingw's clang 2021-08-21 17:22:58 +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 8db8533300 Fixes a lot of warnings and move math enums to enum classes 2021-08-19 20:27:20 +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 ac08afe9f1 Shader: Add missing ! and != parsing 2021-08-19 18:47:11 +02:00
Jérôme Leclercq a5b71f33b9 Shader: Fix support of conditional functions 2021-08-19 18:47:11 +02:00
Jérôme Leclercq c8e7fa5063 Graphics: Fix RenderElement missing export 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 3ce072c8e0 Regenerate global headers 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 e4a38d45bd Renderer/CommandBufferBuilder: Take const AbstractBuffer* to match others methods 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 7e0137f367 Core/Flags: Fix std::hash include 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 7e4f624ca7 Renderer: Add RenderPassCache 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 8846eb4309 Regenerate global headers 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 40ecdda3cd VulkanRenderer: Handle VulkanRenderPass destruction 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 1c77a5e549 Core/Flags: Add std::hash specialization 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
Lynix 2ee3957822 Renderer: Add NAZARA_REQUEST_DEDICATED_GPU macro 2021-08-04 15:58:24 +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 99876d935d Graphics/Material: Fix IsDepthClampEnabled method 2021-07-13 12:04:19 +02:00
Jérôme Leclercq 863fb3ea7e Shader: Fix optimization issues
Moving the unique_ptrs but failing to optimize the expression could cause issues
Also the constant query callback defaulted to ConstantValue (without const ref), thanks auto.
2021-07-11 11:17:48 +02:00
Jérôme Leclercq ae364934bb Graphics/CameraComponent: Add remaining features 2021-07-10 14:27:38 +02:00
Jérôme Leclercq 488ccf9648 Renderer/RenderTarget: Add OnRenderTargetRelease signal 2021-07-10 14:25:49 +02:00
Jérôme Leclercq c6611fcb9f Renderer/RenderTarget: Add size method and signal 2021-07-10 11:49:35 +02:00
Jérôme Leclercq c72dfc8004 Graphics: Add forceDisableFeatures config 2021-07-09 12:37:11 +02:00
Jérôme Leclercq 681cf31b66 OpenGLRenderer: Disable notification messages 2021-07-09 12:36:00 +02:00
Jérôme Leclercq 56776c19c4 OpenGLRenderer: Fix device features not being correctly reported 2021-07-09 12:35:35 +02:00
Jérôme Leclercq 552dfbc01e Renderer: Add pipeline and texture sampler info validation 2021-07-09 12:34:38 +02:00
Jérôme Leclercq 8458301a64 Add support for depth clamping 2021-07-09 00:22:08 +02:00
Jérôme Leclercq 3a3279246f OpenGLRenderer: Enable GL_ARB_gl_spirv and GL_ARB_texture_filter_anisotropic with OpenGL 4.6 2021-07-09 00:01:33 +02:00
Jérôme Leclercq 996b5ef85c Shader: Rename ConstantIndexExpression to ConstantExpression 2021-07-08 15:24:22 +02:00
Jérôme Leclercq 3a31c77524 Shader: Rename ConstantExpression to ConstantValueExpression 2021-07-08 15: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 d3e0d8a39f Shader: Replace select_opt by const_select 2021-07-08 10:53:11 +02:00
Jérôme Leclercq 309fd547e1 Fix compilation errors and warnings 2021-07-07 22:38:24 +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 72edff30c7 Shader: Add support for logical and/or 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