Commit Graph

3324 Commits

Author SHA1 Message Date
Jérôme Leclercq 19f6bdf7e0 Add Physics2D components and systems (WIP) 2022-03-16 08:24:57 +01:00
Jérôme Leclercq 801b06abfe Shader: Fix module overwriting 2022-03-15 18:35:02 +01:00
Jérôme Leclercq 06406fc20e Shader/FilesystemModuleResolver: Fix RegisterModuleDirectory 2022-03-15 13:20:17 +01:00
Jérôme Leclercq 0e92ef823d Graphics: Use module name to retrieve material shaders 2022-03-15 13:14:43 +01:00
Jérôme Leclercq 0f55779a8a Fix compilation 2022-03-15 12:44:21 +01:00
Jérôme Leclercq 79a5716110 Revert "Try to fix GCC error"
This reverts commit 11d5eb7d6063e6cf1da276cc5981d2d57e13f05e.
2022-03-15 12:44:21 +01:00
Jérôme Leclercq 9b1d8b5fcf Try to fix GCC error 2022-03-15 12:44:21 +01:00
Jérôme Leclercq 56c6eff7f8 Rebase fix 2022-03-15 12:44:21 +01:00
Jérôme Leclercq 6bd9f1a9e4 Add unity build support 2022-03-15 12:44:21 +01:00
Jérôme Leclercq 0a4fd8f56d Enable unity build on modules that support it 2022-03-15 12:44:21 +01:00
Jérôme Leclercq bf44672354 Shader: Add support for exported functions 2022-03-14 18:30:55 +01:00
Jérôme Leclercq e9543b20a2 Shader: Fix function calls with OpenGL 2022-03-14 18:30:55 +01:00
Jérôme Leclercq e40e8eb204 Shader: Change module system (no longer based on path) 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 80f9556f8c Shader/LangWriter: Make LangWriter able to output AST before sanitization as well 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 2f26a1d9c7 Graphics: Move LightData to a shader module and add hotreload in debug 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 5a9a55ee7e Shader/MultiStatement: Remove sectionName 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 33554cf5a0 Shader: Remove struct and functions that aren't required 2022-03-14 18:30:55 +01:00
Jérôme Leclercq d29876f448 Shader/SanitizeVisitor: Minor cleanup 2022-03-14 18:30:55 +01:00
Jérôme Leclercq db98b86eaf Core: Rewrite VirtualDirectory class and add more tests 2022-03-14 18:30:55 +01:00
Jérôme Leclercq db0c1e6e8c Shader: Add module resolver + use modules for engine shaders 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 98bd04e35a Shader/SanitizeVisitor: Fix an issue when double-sanitizing
... with differents parameters (like reducing loops to while, which introduces new variables which would take over existing var indices)
2022-03-14 18:30:55 +01:00
Jérôme Leclercq bf7f06ac4c Shader: Fix shader serialization 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 39a2992791 Shader: Minor module fixes 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 05cf98477e Shader: Add proper support for alias 2022-03-14 18:30:55 +01:00
Jérôme Leclercq ce93b61c91 Shader: Serialize cached expression type 2022-03-14 18:30:55 +01:00
Jérôme Leclercq d45ba6696f Shader: Rename VariableExpression to VariableValueExpression 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 1401c46d44 Shader: Better fix than 3ccec0ce 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 3c290c1d0e Shader: Fix unit tests 2022-03-14 18:30:55 +01:00
Jérôme Leclercq be9bdc4705 Modules are workings \o/ 2022-03-14 18:30:55 +01:00
Lynix 83d26e209e WIP2 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 012712b8d0 WIP 2022-03-14 18:30:55 +01:00
Jérôme Leclercq d72ac9cc73 Core/Uuid: Add FromString builder method 2022-03-14 18:30:55 +01:00
Jérôme Leclercq a7acf32886 Shader: Replace indices-based option keys by CRC32 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 53157875b9 Shader: Fix LangWriter not outputting const if 2022-03-14 18:30:55 +01:00
Jérôme Leclercq a4858d6793 Shader: Add comments to surround modules 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 4bded2182c Minor changes 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 53728200ac Shader: Add module ID (UUID) 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 43ac86e85c Shader/Modules: proof of concept 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 7dab1d735f Shader: Add AstExportVisitor 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 073f1dc434 Shader/DependencyCheckerVisitor: Update default config 2022-03-14 18:30:55 +01:00
Jérôme Leclercq b6cd85d6fe Shader: Add import statement (not doing anything for now) 2022-03-14 18:30:55 +01:00
Jérôme Leclercq ca83f363a3 Shader: Add export attribute for structs ([export]) 2022-03-14 18:30:55 +01:00
Jérôme Leclercq a2f4f3c802 Shader: Many fixes 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 1919bd3302 Fix compilation 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 0c3607579e Shader/ShaderLangParser: small refactor 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 99e07e6e1e Shader: Add module statement 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 4a8ebf869b Minor fixes 2022-03-09 20:05:33 +01:00
Jérôme Leclercq c741bad9a1 Utility/Font: Remove useless atlas release slot 2022-03-04 20:41:14 +01:00
Jérôme Leclercq 72b664f42c Core: Add Uuid class 2022-03-04 20:40:41 +01:00
Jérôme Leclercq 36aea2ca0c Shader/SanitizeVisitor: Fix sanitization of already sanitized AST with holes in indices
this happens when you sanitize an AST that went through a remove unused pass
2022-02-28 13:30:53 +01:00
Jérôme Leclercq 142f15d538 Fix dependency checker and add unit test 2022-02-28 13:28:59 +01:00
Jérôme Leclercq 96d87d9439 Merge fix 2022-02-27 18:54:45 +01:00
Jérôme Leclercq bcfef75ec2 Merge branch 'master' into nzsl-modules 2022-02-27 18:44:44 +01:00
Jérôme Leclercq 6ee3899400 Shader/SanitizeVisitor: Fix variable shadowing 2022-02-27 18:43:38 +01:00
Jérôme Leclercq 0fe7f6b899 Shader/EliminateUnusedPassVisitor: Fix function call 2022-02-27 18:43:02 +01:00
Jérôme Leclercq fbae413620 Shader/GlslWriter: Improve removal of unused code 2022-02-27 18:42:41 +01:00
Jérôme Leclercq 55a5ae0648 VulkanRenderer: Improve pixel format handling 2022-02-27 18:41:43 +01:00
Jérôme Leclercq 8a097afb1b Graphics/FramePass: Replace render rect parameter of CommandCallback by FramePassEnvironment 2022-02-27 18:37:05 +01:00
Jérôme Leclercq a155aa598e Shader: Move DependencyChecker to a public class 2022-02-26 16:08:16 +01:00
Jérôme Leclercq 6611cdf72e Minor fixes 2022-02-24 18:52:38 +01:00
Jérôme Leclercq cb1bc956b2 Network: Fix posix implementation 2022-02-24 18:28:41 +01:00
Jérôme Leclercq 7dbaed9aa5 Network: Fix minor issues with IP address parsing and add tests 2022-02-24 12:38:08 +01:00
Jérôme Leclercq 13f2132110 Utility/GuillotineImageAtlas: Fix copy of previous data 2022-02-23 23:49:13 +01:00
Jérôme Leclercq 86cc814f1b Utility/GuillotineImageAtlas: Add max layer size 2022-02-23 23:48:58 +01:00
Jérôme Leclercq fe16584c8c Minor fixes 2022-02-23 23:48:20 +01:00
Jérôme Leclercq 40a9d75bb7 spoilers... 2022-02-23 13:36:38 +01:00
Jérôme Leclercq f38d2747b8 Minor stuff (mostly to shut up static analysis) 2022-02-23 13:20:06 +01:00
Jérôme Leclercq 1e9e05adfa Graphics/MaterialPass: Fix shader option index 2022-02-23 13:14:30 +01:00
Jérôme Leclercq 004c0d84b1 Graphics/RenderSystem: Fix invisible graphics/lights unregistration 2022-02-23 13:10:33 +01:00
Jérôme Leclercq 9ee8196b83 Static analysis fix 2022-02-22 13:31:37 +01:00
Jérôme Leclercq 0dd8c21543 Graphics/ForwardFramePipeline: Fix scissor update 2022-02-22 13:31:22 +01:00
Jérôme Leclercq 7ece44b4f4 Shader: Rename Optimize to ConstantPropagation 2022-02-22 13:28:01 +01:00
Jérôme Leclercq 20a86312ff Graphics/FramePipeline: Replace maps with memory pools and indices 2022-02-21 20:47:11 +01:00
Jérôme Leclercq a1b6f51398 Minor fixes 2022-02-21 20:46:37 +01:00
Jérôme Leclercq cc0fc53bd3 Graphics: Move scissor box from InstancedRenderable to GraphicsComponent 2022-02-21 20:44:54 +01:00
Jérôme Leclercq 29c798a683 Core/MemoryPool: Remake memory pool 2022-02-20 16:00:32 +01:00
Jérôme Leclercq e504c4a982 Minor fixes 2022-02-18 19:37:37 +01:00
Jérôme Leclercq 3f7815175b Shader: Add EliminateUnusedPassVisitor and use it when optimizing 2022-02-18 13:06:47 +01:00
Jérôme Leclercq ebd1318512 OpenGLRenderer: Add shader source on compilation error 2022-02-18 13:05:19 +01:00
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
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
Jérôme Leclercq a483e16e15 Graphics: Fix render layer sorting 2021-12-01 20:25:55 +01:00
Jérôme Leclercq 8f897084d7 Widgets: Add support for render layer (fixes rendering) 2021-12-01 18:58:48 +01:00
Jérôme Leclercq 8b899253b1 Graphics/InstancedRenderable: Add support for render layer 2021-12-01 18:57:50 +01:00
Jérôme Leclercq a4c0cc8c34 Widgets: Add CheckboxWidget 2021-12-01 10:47:21 +01:00
Jérôme Leclercq 26d6448076 Minor fixes 2021-12-01 10:44:28 +01:00
Jérôme Leclercq 97de5af838 Platform/SDL2: Refactor implementation 2021-12-01 10:42:01 +01:00
Jérôme Leclercq e1a378e733 Graphics/[SpriteChain|Submesh]Renderer: Fix material pass not breaking batching 2021-12-01 10:40:47 +01:00
Jérôme Leclercq b256ddd06b Graphics/SlicedSprite: Handle corner removal + lower size 2021-12-01 10:38:53 +01:00
Jérôme Leclercq b62d5f6846 Widgets: Improve default theme 2021-12-01 10:37:48 +01:00
Jérôme Leclercq 8582b94c44 Minor stuff 2021-11-30 18:18:11 +01:00
Jérôme Leclercq f289d13101 Physics3D: Ensure RigidBody are destroyed on world destruction 2021-11-30 18:17:53 +01:00
Jérôme Leclercq 2d236afe0f Minor fixes 2021-11-30 12:42:19 +01:00
Jérôme Leclercq 461a06ab8c Widgets: Improve theme
- move simple styles classes ton their own file
- add button hovered texture
- add button hovered/pressed texture
- add label style
2021-11-30 12:42:05 +01:00
Jérôme Leclercq b20897a2fb Widgets/Canvas: Improve mouse owner system 2021-11-30 12:40:19 +01:00
Jérôme Leclercq 86071eae88 Widgets/TextAreaWidget: Add support for double/triple click selection 2021-11-30 12:39:53 +01:00
Jérôme Leclercq e73489e958 Platform/Events: Replace MousebuttonDoubleClicked with clickCount in MouseButtonEvent 2021-11-30 12:38:57 +01:00
Jérôme Leclercq f7b69e11c2 Widgets: Add widget theme (WIP) 2021-11-28 23:04:56 +01:00
Jérôme Leclercq 8299a5a4bd Widgets/TextAreaWidget: Add Ctrl+A (select all) support 2021-11-28 20:21:21 +01:00
Jérôme Leclercq bb93209713 Widgets/[Rich]TextAreaWidget: Add copy/cut/paste support 2021-11-28 20:21:07 +01:00
Jérôme Leclercq a29c0b0e63 Widgets/Canvas: Add mouse owner system 2021-11-28 20:20:30 +01:00
Jérôme Leclercq db88f0ca0d Graphics: Add SlicedSprite class 2021-11-28 20:19:59 +01:00
Jérôme Leclercq 01cd4986cc Minor fixes 2021-11-28 20:19:37 +01:00
Jérôme Leclercq 0c3bcf6c86 Graphics/Camera: Add render order property 2021-11-28 20:15:22 +01:00
Jérôme Leclercq d0aad3ee1e Platform: Add initial Clipboard support (only text is supported) 2021-11-28 20:14:15 +01:00
Jérôme Leclercq 2cdd7d0b44 Widgets: Fix issues with Y reversal 2021-11-25 23:04:01 +01:00
Jérôme Leclercq a33a118ed3 Minor fixes 2021-11-24 22:29:09 +01:00
Jérôme Leclercq caf1a0f1e8 Widgets: Add [Rich]TextAreaWidget 2021-11-24 22:25:39 +01:00
Jérôme Leclercq 643b1a2b15 Widgets: Add ImageWidget 2021-11-24 22:24:57 +01:00
Jérôme Leclercq 6c97f538a1 Widgets: Reimplement Hide/Show 2021-11-24 22:24:14 +01:00
Jérôme Leclercq d2cfc5fdf5 Graphics/GraphicsComponent: Add visibility control 2021-11-24 22:07:56 +01:00
Jérôme Leclercq c9aba016a8 Graphics/Sprite: Add [Get|Set]TextureCoords & SetTextureRect 2021-11-24 22:00:29 +01:00
Jérôme Leclercq b8b0552a4e Graphics: Fix blending (temporary fix until frame graph handles it) 2021-11-24 21:56:33 +01:00
Jérôme Leclercq d475bbd4a2 VulkanRenderer/VulkanShaderModule: OCD fix 2021-11-21 19:09:30 +01:00
Jérôme Leclercq 4df0b16d19 Widgets: Fix ButtonWidget 2021-11-21 19:07:46 +01:00
Jérôme Leclercq b12d2eeb0f Widgets/Canvas: Fix mouse position 2021-11-21 19:07:29 +01:00
Jérôme Leclercq d0f55df3ca Widgets: Reuse materials to improve performance 2021-11-21 19:07:06 +01:00
Jérôme Leclercq 8f1cc79dc2 Graphics/InstancedRenderable: Add signal to tell some renderables need to be rebuild 2021-11-21 19:06:10 +01:00
Jérôme Leclercq d040cc6767 Shader/GlslWriter: Fix gl_Position.z remapping 2021-11-21 19:04:09 +01:00
Jérôme Leclercq 1b271a29ef Widgets/BaseWidget: Fix background position and render mask 2021-11-21 17:14:59 +01:00
Jérôme Leclercq 2a8568f2ac Graphics/InstancedRenderable: Replace constructor AABB with UpdateAABB method 2021-11-21 17:14:39 +01:00
Lynix 57d39f7eeb Shader/GlslWriter: Rename scaleZPosition to remapZPosition 2021-11-21 16:15:56 +01:00
Jérôme Leclercq 237602a33f Widgets/Canvas: Add render mask parameter 2021-11-14 19:54:47 +01:00
Jérôme Leclercq 83772ab035 Graphics/UberShader: Fix stage type check 2021-11-14 19:52:52 +01:00
Jérôme Leclercq c85263c9e7 Shader/GlslWriter: Add depth fix (from [0;1] to [-1;1] 2021-11-14 13:00:15 +01:00
Jérôme Leclercq cf8f76baa6 Graphics/ForwardframePipeline: Fix render mask test 2021-11-13 20:08:16 +01:00
Jérôme Leclercq ecd1e43890 Graphics: Add support for multi-viewer rendering (a bit hacky) 2021-11-13 20:08:03 +01:00
Jérôme Leclercq 342c053faa Graphics/Camera: Add clear color per viewer 2021-11-13 20:06:34 +01:00
Jérôme Leclercq a643d0fc3a OpenGLRenderer: Improve error handling (fixes Windows/x86 compilation)
Template specialization was failing because OpenGL function type have __stdcall convention on Windows/32bits
2021-11-02 09:43:30 +01:00
Jérôme Leclercq 9946c17a23 OpenGLRenderer: Choose between OpenGL/OpenGL ES at loading 2021-11-02 09:13:12 +01:00
Lynix d872428658 Graphics/SpriteChainRenderer: Warning fix 2021-10-30 00:52:09 +02:00
Lynix 90c738023a OpenGLRenderer: Try to load OpenGL on desktop instead of OpenGL ES 2021-10-30 00:51:17 +02:00