Commit Graph

3575 Commits

Author SHA1 Message Date
Jérôme Leclercq
29786765c6 Big buffer refactor
Replaced RenderBuffer class, replaced AbstractBuffer by Buffer
2022-01-23 00:05:08 +01:00
Lynix
213c7d8a1e Utility/OBJSaver: Handle case where normal and/or texcoords are not present 2022-01-21 14:57:07 +01:00
Lynix
1406c714ac Renderer/Texture: Handle image loading error 2022-01-20 16:46:50 +01:00
Lynix
f0b6f2122d Shader: backport struct fix from phong-lighting 2022-01-19 20:44:32 +01:00
Jérôme Leclercq
0af9a96294 Core/Color: Add Gray constant 2022-01-18 06:01:44 +01:00
Jérôme Leclercq
7976ea27b9 Add initial support for normal mapping and other light types 2022-01-18 06:01:15 +01:00
Jérôme Leclercq
b0a3941f4e Add Phong lighting (WIP) 2022-01-11 19:47:29 +01:00
Jérôme Leclercq
756fd773a9 Shader: Add support for numerical fors 2022-01-06 20:38:55 +01:00
Jérôme Leclercq
972d5ffd3f Regenerate global headers, unicode and spirv data 2022-01-04 16:36:28 +01:00
Jérôme Leclercq
2bdcc045cd Shader: Replace const for with [unroll] attribute 2022-01-03 20:21:09 +01:00
Jérôme Leclercq
b6e4a9470e Shader/Ast: Treat repeated swizzle as rvalue (cannot be assigned) 2022-01-02 22:02:46 +01:00
Jérôme Leclercq
4fe44339c5 Shader: Add support for for-each statements and improve arrays 2022-01-02 22:02:11 +01:00
Jérôme Leclercq
55784a7dfc VulkanRenderer: Fix scissor handling 2022-01-01 23:02:09 +01:00
Jérôme Leclercq
1f15328fdd Shader: Add initial support for arrays 2022-01-01 23:01:31 +01:00
SirLynix
89c7bbf197 Update copyright date 2022-01-01 15:30:09 +01:00
Jérôme Leclercq
d878036bfc Shader/AstOptimizer: Reduce template complexition 2021-12-28 23:37:35 +01:00
Jérôme Leclercq
60a7cec099 Fix compilation 2021-12-28 22:15:13 +01:00
Jérôme Leclercq
101a3d70da Shader/AstOptimizer: Add swizzle optimization 2021-12-28 20:09:04 +01:00
Jérôme Leclercq
343eac6616 Shader/Parser: Allow external and struct declarations to be conditional 2021-12-28 13:35:53 +01:00
Jérôme Leclercq
4e5def1095 Shader/AstOptimizer: Fix Vector4 cast propagation optimization 2021-12-28 11:49:41 +01:00
Jérôme Leclercq
a0f66d9e88 Shader/SPIRV: Fix multiple branch handling (by splitting) 2021-12-28 11:48:19 +01:00
Jérôme Leclercq
e21b45946f Shader/SPIRV: Fix double termination of blocks when branching
Which could happen when using OpKill (discard) for example
2021-12-26 22:00:44 +01:00
Jérôme Leclercq
b43ed890d0 Fix scissor bugs (fixes Deferred Shading flare on Vulkan and widget scissor on OpenGL) 2021-12-25 20:25:39 +01:00
Jérôme Leclercq
b98fd65a01 Fix a lot of small bugs/warnings 2021-12-25 20:07:53 +01:00
Jérôme Leclercq
1080823c4d Shader/SpirvPrinter: Handle LiteralInteger as value 2021-12-25 19:13:48 +01:00
Jérôme Leclercq
f98ea6b0ca Shader: Add full support for scalar swizzle 2021-12-25 19:13:08 +01:00
Jérôme Leclercq
157e74b016 Shader/GlslWriter: Reorder function implementations 2021-12-25 14:02:22 +01:00
Jérôme Leclercq
d4dfe97006 Minor fixes 2021-12-23 17:39:37 +01:00
Jérôme Leclercq
a5cc915948 Shader/SPIRV: Fix structs being always decorated as block
They are now only decorated as blocks when used as uniform buffers, which fixes structure nesting
2021-12-23 17:36:40 +01:00
Jérôme Leclercq
ed3ee34565 Graphics/Sprite: Allow to change origin 2021-12-23 17:32:18 +01:00
Jérôme Leclercq
e2882f6595 Shader: Rename Parse function to ParseFromFile
to avoid ambiguous calls when passing const char*
2021-12-23 17:18:30 +01:00
Jérôme Leclercq
e497faabaf Fix compilation 2021-12-21 14:45:53 +01:00
Jérôme Leclercq
837b72f68e Shader: Rework Swizzle and add support for swizzle store in SPIRV 2021-12-21 14:30:47 +01:00
Jérôme Leclercq
e43a638112 Shader/SpirvData: Regenerate SPIRV data (update to 1.6.1) 2021-12-20 22:37:34 +01:00
Jérôme Leclercq
5963f4c848 Graphics/FrameGraph: Fix texture pool issue 2021-12-19 18:29:20 +01:00
Lynix
9bd411e53c Shader/SPIRV: Add support for swizzling with one component 2021-12-18 15:51:20 +01:00
Jérôme Leclercq
a8fefeb833 Some fixes 2021-12-16 23:11:48 +01:00
Jérôme Leclercq
0f9060c45b Shader: Add support for while loops 2021-12-16 23:10:58 +01:00
Jérôme Leclercq
07199301df Graphics/FrameGraph: Handle invalidation and flush barriers 2021-12-16 18:29:40 +01:00
Jérôme Leclercq
38b143ce8f VulkanRenderer: Improve ImageAspectFlags handling 2021-12-16 18:29:15 +01:00
Jérôme Leclercq
90ab0e9438 Graphics/FramePass: Add SetReadInput method 2021-12-13 23:44:34 +01:00
Jérôme Leclercq
dfa2a0040a Graphics/FrameGraph: Add AttachmentProxy 2021-12-13 23:44:14 +01:00
Jérôme Leclercq
3185e73941 Shader: Fix handling of if/else construct 2021-12-12 23:04:37 +01:00
Jérôme Leclercq
0aec863300 Shader: Add support for exp intrinsic 2021-12-05 17:02:46 +01:00
Jérôme Leclercq
7e4a058d41 Renderer/[OpenGL|Vulkan]Renderer: Add support for RGBA16F pixelformat 2021-12-05 17:01:55 +01:00
Jérôme Leclercq
4eb96849db Graphics/FrameGraph: Reuse textures if possible 2021-12-05 16:53:02 +01:00
Jérôme Leclercq
3b1bf480e6 Fix some warnings 2021-12-03 22:18:03 +01:00
Jérôme Leclercq
11d4ba22da Graphics/ForwardFramePipeline: Use RenderGraph to merge viewers views 2021-12-03 22:17:24 +01:00
Jérôme Leclercq
17df8fafa4 Renderer/CommandBuffer: Add support for texture blit/copy 2021-12-03 22:15:34 +01:00
Jérôme Leclercq
61779d1cad Graphics/Widgets: Add support for scissoring 2021-12-01 20:26:33 +01:00