Commit Graph

372 Commits

Author SHA1 Message Date
Jérôme Leclercq b2aedd394c Minor fixes 2021-10-29 16:50:50 +02:00
Jérôme Leclercq 9e1df33440 Graphics: Add RenderMask (WIP) 2021-10-29 16:50:38 +02:00
Jérôme Leclercq 66bbf63e87 Core/Algorithm: Add SafeCast 2021-10-26 20:26:13 +02:00
Jérôme Leclercq a18415216b Fix DeferredShading demo 2021-10-26 20:26:13 +02:00
Jérôme Leclercq 58485cfa79 Rework shader bindings (WIP) 2021-10-26 20:26:13 +02:00
Jérôme Leclercq a66f6faed1 Add widgets (WIP) 2021-10-04 09:25:45 +02:00
Jérôme Leclercq 3ad05614f9 Graphics: Use debug regions inside render pass to fix an issue with OpenGL context switch 2021-09-23 17:49:15 +02:00
Jérôme Leclercq 250044b47a Update main.cpp 2021-09-13 23:35:56 +02:00
Jérôme Leclercq 7a78e7be8c Fix compilation 2021-09-06 09:45:30 +02:00
Jérôme Leclercq 02a12d9328 Handle shader options of any type 2021-09-03 19:33:41 +02:00
Jérôme Leclercq 120d8f5427 Renderer/RenderWindow: Remove Display and GetImpl methods 2021-08-27 15:39:23 +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 e98e46164c PhysicsDemo: Add support of alpha testing to depth-prepass 2021-08-19 18:47:11 +02:00
Jérôme Leclercq bb5aea5244 Fix graphics examples 2021-08-19 18:47:11 +02:00
Jérôme Leclercq d647fdc59b Update main.cpp 2021-08-19 18:47:11 +02:00
Jérôme Leclercq a380645c19 Fix DeferredShading & GraphicsTest demo 2021-08-19 18:47:11 +02:00
Jérôme Leclercq cdad013c60 Update some demo code 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 46dfa503eb Update PhysicsDemo example 2021-07-13 12:04:51 +02:00
Jérôme Leclercq 0777badbe0 Examples/PhysicsDemo: Remove useless code 2021-07-11 11:18:01 +02:00
Jérôme Leclercq 8458301a64 Add support for depth clamping 2021-07-09 00:22:08 +02:00
Jérôme Leclercq 4728d5f2a8 Fix DeferredShading example 2021-07-08 22:47:45 +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 ea899e4361 Examples/RenderTest: fix lighting dir 2021-07-07 22:38:24 +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 f14db3f5e9 Renderer: Expose RenderTarget and framebuffers indices 2021-07-03 13:52:29 +02:00
Jérôme Leclercq d6248a061d Add PhysicsDemo (first ECS demo) 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 5559fe1af7 Update RenderTest to test shader binding sets 2021-06-16 16:50:00 +02:00
Jérôme Leclercq f22b501e25 Add initial support for shader binding sets (WIP) 2021-06-16 16:50:00 +02:00
Lynix 54d56abc56 WIP 2021-06-16 16:50:00 +02:00
Jérôme Leclercq b85cb174ce Reverse Y axis (+Y is now up) 2021-06-06 15:59:25 +02:00
Jérôme Leclercq 0411271851 Utility/Mesh: Fix Recenter() method for other vertex layouts 2021-06-05 19:09:12 +02:00
Jérôme Leclercq 613b3b8627 DeferredShading: Update skybox 2021-06-05 19:08:38 +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 1dc39cccfd Improve DeferredShading demo 2021-06-02 20:17:01 +02:00
Jérôme Leclercq 6161bbec76 Renderer: Handle more depthstencil formats (as Depth24Stencil8 may not be supported everywhere) 2021-06-02 20:16:43 +02:00
Jérôme Leclercq 9ee3a0d6be DeferredShading: Add bloom 2021-06-01 20:28:19 +02:00
Jérôme Leclercq 7bbe879d2f DeferredShading: Fix light spawning 2021-06-01 18:15:29 +02:00
Jérôme Leclercq 4d74cef034 Math: Remove NAZARA_MATH_ANGLE_RADIAN and functions using it 2021-06-01 17:37:40 +02:00
Jérôme Leclercq ad6028e0bd Fix last commit 2021-06-01 16:38:52 +02:00
Jérôme Leclercq 67f2ec635a DeferredShading demo: Add keys to disable forward pass/light animations 2021-06-01 16:38:31 +02:00
Jérôme Leclercq 56b8d83bab DeferredShading demo: Add a skybox 2021-06-01 16:29:24 +02:00
Jérôme Leclercq 557c23a9fa Minor stuff 2021-05-30 16:45:50 +02:00
Jérôme Leclercq d121393267 Audio: Add mp3 support + new demo 2021-05-30 16:45:50 +02:00
Jérôme Leclercq 453a75a37d DeferredShading: Improve lights 2021-05-30 16:45:16 +02:00
Jérôme Leclercq a24c8b559a Remove leftovers 2021-05-30 16:04:07 +02:00
Jérôme Leclercq 109b2a156e OpenGLRenderer: Allow RenderPipeline without a fragment shader on OpenGL ES 2021-05-29 00:32:00 +02:00
Jérôme Leclercq 336e70f72e DeferredShading: Implement stencil optimization 2021-05-28 23:00:16 +02:00
Jérôme Leclercq ff505e9019 Renderer: Implement and fix front face (winding order) between Vulkan / OpenGL 2021-05-28 22:58:14 +02:00
Jérôme Leclercq 392a23eeb1 Add Std140Debug "example" (using OpenGL directly to debug stuff) 2021-05-26 22:23:30 +02:00
Jérôme Leclercq d2734d4f4b Examples/DeferredShading: Optimize rendering with light meshes 2021-05-26 22:23:00 +02:00
Jérôme Leclercq 68447ef0da Update main.cpp 2021-05-25 15:37:59 +02:00
Jérôme Leclercq 335bb82be1 Renderer/Texture: Add static helpers 2021-05-25 15:37:55 +02:00
Jérôme Leclercq 44c8e7a627 Upgrade example code 2021-05-25 10:40:07 +02:00
Jérôme Leclercq 8cdd0b51cb Upgrade Audio (part 2) 2021-05-25 10:40:07 +02:00
Jérôme Leclercq f4bc104810 Improve DeferredShading demo 2021-05-22 13:38:41 +02:00
Jérôme Leclercq 8a6f0db034 Example: replace pointlights by spotlights 2021-05-19 21:16:55 +02:00
Lynix 13feaf4aab Renderer: RenderWindow now requires a RenderDevice 2021-05-16 23:13:00 +02:00
Lynix 61d082e61b Shader/ShaderWrite: Add optimize bool 2021-05-16 23:08:36 +02:00
Lynix 1f05e950e8 Move resources to bin 2021-05-16 15:38:34 +02:00
Jérôme Leclercq 131d5f7afb Add DeferredShading example 2021-05-15 15:26:53 +02:00
Jérôme Leclercq 24c2de405f Improve xmake build 2021-05-14 03:35:32 +02:00
Jérôme Leclercq 2a4f020dd7 Move resources to bin directory 2021-05-14 03:35:32 +02:00
Jérôme Leclercq 87ce2edc6e Shader: Add initial support for options (WIP) 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 7da02c8708 Fix RenderTest shader code 2021-04-20 18:18:27 +02:00
Jérôme Leclercq b234134abc Shader/ShaderLang: Add type inference for variable declaration 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 3499c1f92f Shader: Remove the need of layout(std140) in external block 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 5a63eb4d97 Update RenderTest demo with shaderlang 2021-04-20 18:18:27 +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 a9e9ef2524 Graphics: Add GraphicalMesh and Model classes 2021-01-27 16:45:00 +01:00
Jérôme Leclercq e3e5c4ba8f Graphics: Add ModelInstance class 2021-01-22 23:32:32 +01:00
Jérôme Leclercq a6ff64106e Minor stuff 2021-01-22 23:23:28 +01:00
Jérôme Leclercq ef1f4c770a Use a better texture for alpha-testing 2021-01-03 10:48:30 +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 ad88561245 Graphics: Fix MaterialPipeline::GetRenderPipeline 2020-10-31 16:29:02 +01:00
Jérôme Leclercq a02c300c0c Add GraphicsTest demo 2020-10-30 23:08:55 +01:00
Jérôme Leclercq 2b6a463a45 Remove Nz::String and Nz::StringStream 2020-09-25 19:31:01 +02:00
Jérôme Leclercq f15709c8a3 Renderer: Replace unique_ptr by shared_ptr 2020-09-20 15:56:58 +02:00
Jérôme Leclercq 77b46e4811 Update RenderTest shaders 2020-09-20 14:54:09 +02:00
Jérôme Leclercq 84a25df0bf Update RenderTest demo 2020-09-20 14:53:44 +02:00
Jérôme Leclercq 98e20ecbb7 Last modules fixes 2020-09-17 18:54:33 +02:00
Jérôme Leclercq 0a46b83061 RenderTest: Make UBO Dynamic 2020-09-02 17:21:07 +02:00
Jérôme Leclercq b2a7e620e0 Merge branch 'master' into nazara-next 2020-08-27 20:12:36 +02:00
Jérôme Leclercq c8e74b6196 Rename VulkanTest to RenderTest 2020-08-27 19:44:31 +02:00
Jérôme Leclercq 2a875c8bdc Remove Graphics module and fix compilation 2020-08-27 19:43:31 +02:00
Jérôme Leclercq bc92d030ed Fix VulkanTest 2020-08-27 19:29:40 +02:00
Jérôme Leclercq cbdac32f5f VulkanRenderer: Handle window resize 2020-08-27 16:16:33 +02:00
Jérôme Leclercq 6c379eff68 Update vert.shader 2020-08-23 18:32:31 +02:00
Jérôme Leclercq 9df219e402 Add SpirvConstantCache
And unsigned int types for shaders
2020-08-20 01:05:16 +02:00
Jérôme Leclercq 837a6585a1 Split shader generation to a new module 2020-08-11 00:00:36 +02:00
Jérôme Leclercq 777121dbce Remove SPIRV handling in demo 2020-08-09 18:42:01 +02:00
Jérôme Leclercq 0da2ee6c99 First rendering using Spir-V generated shaders \o/ 2020-08-09 00:24:07 +02:00
Jérôme Leclercq 251810ca99 WIP SpirvWriter 2020-07-29 11:22:52 +02:00