Commit Graph

3195 Commits

Author SHA1 Message Date
Jérôme Leclercq
c33ab779d1 ShaderNode: Fix compilation 2022-02-17 13:23:56 +01:00
Jérôme Leclercq
402e16bd2b Shader: Handle type as expressions 2022-02-17 13:23:56 +01:00
Jérôme Leclercq
5ce8120a0c Graphics: Move FramePipeline passes to separate classes 2022-02-16 18:29:27 +01:00
Jérôme Leclercq
979bf2cc80 UnitTests: Improve hash unit tests (add file test) 2022-02-10 11:56:35 +01:00
Jérôme Leclercq
97ee89afb7 Rework hashes (also fix Fletcher16 and CRC64) 2022-02-10 01:46:58 +01:00
Jérôme Leclercq
f466a7494b Update for EnTT 3.9 2022-02-08 20:05:14 +01:00
Jérôme Leclercq
6c35b0be57 Minor fixes 2022-02-05 21:30:36 +01:00
Jérôme Leclercq
6457854e03 Minor fixes 2022-02-04 13:54:26 +01:00
Jérôme Leclercq
d113b58b5a Graphics/RenderSystem: Fix light removal 2022-02-02 19:41:21 +01:00
Jérôme Leclercq
de7fee348a Graphics/ForwardFramePipeline: Frustum cull lights 2022-02-02 19:39:46 +01:00
Jérôme Leclercq
109127459b Graphics/ForwardFramePipeline: Reuse light UBO 2022-02-02 13:47:29 +01:00
Jérôme Leclercq
8a3a8547dc Add light support (WIP) 2022-02-02 12:55:39 +01:00
Jérôme Leclercq
e6951d54a5 Shader: Switch type<subtype> to type[subtype] 2022-01-26 19:24:46 +01:00
Jérôme Leclercq
29a01e975c Merge fix 2022-01-23 20:00:11 +01:00
Jérôme Leclercq
b8a52b93e8 Shader/SPIRV: Handle arrays properly 2022-01-23 19:59:26 +01:00
Jérôme Leclercq
2463e471cc Shader/SPIRV: Fix issues with loops containing branches and cross product 2022-01-23 19:59:10 +01:00
Jérôme Leclercq
64efd81bf8 Shader: Handle matrix cast properly 2022-01-23 19:58:04 +01:00
Jérôme Leclercq
249aebac05 Merge branch 'master' into phong-lighting 2022-01-23 13:36:48 +01:00
Jérôme Leclercq
3c308970a1 Minor fixes 2022-01-23 01:22:16 +01:00
Jérôme Leclercq
2ebcddf9de Core/CallOnExit: Rework to use template instead of std::function 2022-01-23 00:16:09 +01:00
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