Commit Graph

2923 Commits

Author SHA1 Message Date
Jérôme Leclercq fb3468854f Renderer: Implement Framebuffers 2021-02-20 19:22:08 +01:00
Jérôme Leclercq 3ef74d6e1d OpenGLRenderer: Use glTexStorage2D instead of glTexImage2D 2021-02-20 19:14:13 +01:00
Jérôme Leclercq f7442982a4 OpenGLRenderer: Implement debug region data 2021-02-20 19:10:32 +01:00
Jérôme Leclercq 8f9f943e2c OpenGLRenderer: Implement primitive mode 2021-02-20 18:56:54 +01:00
Jérôme Leclercq ac3db8a8bf Utility/PixelFormat: Add preliminary support for SRGB formats (WIP) 2021-02-20 18:01:03 +01:00
Jérôme Leclercq 36be581d9a Shader/SpirV: Fix missing OpSelectionMerge before branching 2021-02-19 14:51:06 +01:00
Jérôme Leclercq 32569eef5e Add SpirV masks and update grammar 2021-02-19 14:47:24 +01:00
Jérôme Leclercq 080fd9c7eb Minor fixes 2021-02-15 18:17:30 +01:00
Jérôme Leclercq a6b5246633 OpenGLRenderer: Fix clear values 2021-02-15 18:17:10 +01:00
Jérôme Leclercq 08c2f711b0 Graphics/Material: Add UpdateBuffers 2021-02-15 18:16:19 +01:00
Jérôme Leclercq d058a127e1 Renderer/RenderPass: Implement RenderPass correctly 2021-02-15 18:14:47 +01:00
Jérôme Leclercq 2ef772cec7 Merge branch 'nazara-next' into graphics-next 2021-01-28 16:37:46 +01:00
Jérôme Leclercq 5eedd3c0bc Renderers: Fix UploadPool 2021-01-28 15:59:18 +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 19783f7755 Graphics/Material: Rework UBO handling 2021-01-22 23:31:54 +01:00
Jérôme Leclercq a0d5750ec8 Graphics: Add GetViewerDataUBO 2021-01-22 23:27:11 +01:00
Jérôme Leclercq a6ff64106e Minor stuff 2021-01-22 23:23:28 +01:00
Jérôme Leclercq d52be87fd5 OpenGLRenderer: Fix Draw[Indexed]Data states 2021-01-22 23:18:35 +01:00
Jérôme Leclercq dbcb4a61d0 OpenGLRenderer: Fix context not being shared on OpenGL ES 2021-01-22 23:17:55 +01:00
Jérôme Leclercq c76d6505b0 Renderer/ShaderBinder: Make Update take a pointer and size 2021-01-22 23:15:31 +01:00
Jérôme Leclercq e6ada6846d Graphics: Fix PredefinedViewerData size 2021-01-22 18:04:58 +01:00
Jérôme Leclercq 711199fe51 Shader/ShaderAstOptimizer: Fix branch optimization 2021-01-15 19:19:19 +01:00
Jérôme Leclercq bb18ca13ca Fix shader generation 2021-01-15 19:19:05 +01:00
Jérôme Leclercq 96d7b9424b Renderer: Handle null textures in shader binding 2021-01-14 22:03:01 +01:00
Jérôme Leclercq c8f4e53244 ShaderNode: Add code output window 2021-01-14 22:02:34 +01:00
Jérôme Leclercq a037eef4c9 Shader: Remove ShaderNode::GetExpressionType (replaced by visitor) and minor stuff 2021-01-14 22:01:53 +01:00
Jérôme Leclercq 00ac6e8a0a Shader: Add ShaderAstOptimizer 2021-01-14 22:01:05 +01:00
Jérôme Leclercq acb998f67e ShaderAst: Add NoOp node 2021-01-14 21:58:06 +01:00
Jérôme Leclercq a9f2e05b57 Fix typo in enum 2021-01-14 21:56:55 +01:00
Jérôme Leclercq 4d63d6e022 Shader: Add basic support for Branch node in spir-v 2021-01-04 10:27:08 +01:00
Jérôme Leclercq 44bc86d082 Shader/SpirvWriter: Rename MergeBlocks to MergeSections
to avoid confusion with SpirV blocks
2021-01-03 11:11:54 +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 ed72d668d9 Shader: Add Discard node 2020-12-30 20:05:16 +01:00
ImperatorS79 9a613c6fd6 Fix ShaderNodes on macos 2020-11-27 14:44:19 +01:00
ImperatorS79 f05ed5781b IP_MTU missing on macos 2020-11-22 13:32:17 +01:00
ImperatorS79 d4cd0581e4 Update SocketImpl.cpp 2020-11-21 21:35:51 +01:00
ImperatorS79 255812c80e Fix missing MSG_NOSIGNAL and TCP_KEEPIDLE on macos 2020-11-21 21:29:23 +01:00
ImperatorS79 143d7d391a Remove Value for size_t and correctly fix the problem 2020-11-21 20:21:26 +01:00
ImperatorS79 4bf49876c6 Build Nazara on macos up to Nazara_network (not included 2020-11-21 20:05:19 +01:00
Jérôme Leclercq 960817a1f1 Add conditional expression/statement support for shaders 2020-11-19 13:56:54 +01:00
Jérôme Leclercq bd9d30407c Fix SDL2 cursor 2020-11-17 17:44:31 +01:00
Jérôme Leclercq 7526923a8d Platform: Fix space not generating a text event 2020-11-17 17:43:42 +01:00
Jérôme Leclercq af55ecc2a5 Fix SDL2 crash when creating cursor
Enfoiré de REMqb
2020-11-12 16:28:33 +01:00
Jérôme Leclercq f52c43df49 Network: Fix TcpClient::PollConnection on Linux 2020-10-31 17:33:56 +01:00
Jérôme Leclercq ad88561245 Graphics: Fix MaterialPipeline::GetRenderPipeline 2020-10-31 16:29:02 +01:00
Jérôme Leclercq 8027ae9abe Graphics: Fix PredefinedShaderBinding enum 2020-10-31 16:27:35 +01:00
Jérôme Leclercq 89609570f4 Graphics: WIP (almost working) 2020-10-30 23:08:48 +01:00
Jérôme Leclercq 73e86407b3 Fix some warnings 2020-10-30 23:08:27 +01:00
Jérôme Leclercq e5cd461bae ShaderNode: Fix possible crash with incompatible types 2020-10-30 23:08:03 +01:00
Jérôme Leclercq 5ca9776755 ShaderNode: Fix missing "add texture" button 2020-10-30 23:07:42 +01:00
Jérôme Leclercq b62130dab9 VulkanRenderer: Fix physical device bullshit
Keep a single list instead of many
2020-10-30 23:06:56 +01:00
Jérôme Leclercq 009e5a0466 Renderer: Rename ShaderStageImpl to ShaderStage 2020-10-30 23:06:15 +01:00
Jérôme Leclercq d243e7bcd2 OpenGLRenderer: Move error to string to Utils 2020-09-26 20:43:55 +02:00
Jérôme Leclercq 3b2e375382 WIP 2020-09-26 20:04:05 +02:00
Jérôme Leclercq abf58857d7 Core/StringExt: Make PointerToString portable 2020-09-26 12:22:49 +02:00
Jérôme Leclercq 9291ef6299 Disable OpenGL overriding with MSVC / x86
Seems like a bug with MSVC when targetting 32bits targets
2020-09-26 11:50:37 +02:00
Jérôme Leclercq 65337c6a38 Fix a lot of warnings and some errors 2020-09-26 11:44:09 +02:00
Jérôme Leclercq 2b6a463a45 Remove Nz::String and Nz::StringStream 2020-09-25 19:31:01 +02:00
Lynix d665af1f9d Shader/SpirV: Fix sampler storage class 2020-09-22 21:50:56 +02:00
Lynix 79c53061e0 Shader: Add type functions 2020-09-22 21:50:07 +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 95c9ad0fd8 Add graphics module base 2020-09-20 14:52:44 +02:00
Jérôme Leclercq 790815e9ee Merge branch 'master' into nazara-next 2020-09-17 20:28:11 +02:00
Jérôme Leclercq 37418d482e Renderer: Allow to set a preferred render api using configuration 2020-09-17 20:11:10 +02:00
Jérôme Leclercq 36d3c51eeb Add module configurations 2020-09-17 20:10:39 +02:00
Jérôme Leclercq 7a7a67cd40 Update OpenGLVaoCache.cpp 2020-09-17 18:54:41 +02:00
Jérôme Leclercq 98e20ecbb7 Last modules fixes 2020-09-17 18:54:33 +02:00
Jérôme Leclercq fd1d416510 Rename Module to ModuleBase 2020-09-11 13:39:18 +02:00
Jérôme Leclercq a7fac3beb8 Rework modules 2020-09-10 20:12:09 +02:00
Jérôme Leclercq 193deb6c04 Fix some minor stuff 2020-09-06 17:09:39 +02:00
Jérôme Leclercq 67b0d70b7c Upgrade to Newton 3.14 and make it a thirdparty lib 2020-09-06 17:09:19 +02:00
Jérôme Leclercq 1e29790831 Physics2D/RigidBody2D: Fix velocity func not being copied 2020-09-05 12:56:35 +02:00
Jérôme Leclercq 385927b05a Fix minor stuff 2020-09-04 16:14:11 +02:00
Jérôme Leclercq 33e60a97b6 VulkanRenderer: Fix case where swapchain has more image than requested 2020-09-04 15:59:01 +02:00
Jérôme Leclercq 53e5aa924f VulkanRenderer/Swapchain: Rename Buffer to Image 2020-09-04 15:58:07 +02:00
Jérôme Leclercq 55ac0ccdf6 Restore Vulkan renderer 2020-09-04 15:25:49 +02:00
Jérôme Leclercq f8dc5a5516 OpenGLRenderer: Default to WGL on Windows 2020-09-04 15:23:14 +02:00
Jérôme Leclercq ab0cc800e3 Remove VMA dependency from OpenGLRenderer 2020-09-04 15:22:05 +02:00
Jérôme Leclercq e0a4d27c2e Fix some warnings 2020-09-04 15:21:53 +02:00
Jérôme Leclercq 69dda85e45 Vulkan: Refactor function list headers 2020-09-04 15:21:46 +02:00
Jérôme Leclercq d98cddcfe0 Remove no longer used code 2020-09-04 14:19:11 +02:00
Jérôme Leclercq a8b9a8c56d Workaround MSVC bug 2020-09-04 14:18:57 +02:00
Jérôme Leclercq 3082620ef9 Remove useless code 2020-09-03 16:33:56 +02:00
Jérôme Leclercq 0255541b44 Replace EGL symbol loader 2020-09-03 16:33:37 +02:00
Jérôme Leclercq addcd52552 Try to get around MSVC bug 2020-09-03 15:47:43 +02:00
Jérôme Leclercq 58efffc51f Improve code a bit
Prevent converting back and forth the same function pointer
2020-09-03 13:58:45 +02:00
Jérôme Leclercq 0609a10c25 OpenGLRenderer: Get rid of std::function by using function indexes 2020-09-03 13:54:44 +02:00
Jérôme Leclercq 6848ff8b34 OpenGLRenderer: Add debug wrapper (which handle OpenGL errors) 2020-09-03 13:39:34 +02:00
Jérôme Leclercq df33262ab4 OpenGLRenderer: Fix context activation 2020-09-03 13:18:09 +02:00
Jérôme Leclercq d622a75d73 Add BufferUsage_Dynamic
Since OpenGL screams in performance warning because of a GL_STATIC_DRAW buffer being updated from another buffer
2020-09-02 17:19:52 +02:00
Jérôme Leclercq b85a734e6e Utility/OBJParser: Make OBJ meshes order deterministic 2020-09-02 16:30:31 +02:00
Jérôme Leclercq d05df45cb6 Fix EGL context sharing
It seems contexts must be part of the same display to be shared, and that using default display with window isn't an issue on Windows/X11
2020-09-02 15:40:57 +02:00
Jérôme Leclercq bc2f18c852 OpenGLRenderer: Try to fix EGLContext sharing with X11 2020-09-01 20:10:09 +02:00
Jérôme Leclercq f4186fdeac Fix context sharing 2020-09-01 20:01:36 +02:00
Jérôme Leclercq c4e63a582c OpenGLRenderer: initial support for X11 2020-09-01 19:49:50 +02:00
Jérôme Leclercq c7b0d103e1 OpenGLRenderer: remove opengl32 dependency on Linux 2020-09-01 19:28:10 +02:00
Jérôme Leclercq e6c2302927 Renderer: Add prefix for Linux 2020-09-01 19:24:30 +02:00
Jérôme Leclercq 424e6437c1 VulkanRenderer: Enable Wayland/XLib support 2020-09-01 19:20:59 +02:00
Jérôme Leclercq 7ea0b223ec Linux fixes 2020-09-01 19:18:27 +02:00
Jérôme Leclercq ae34533595 Minor fixes 2020-09-01 18:47:08 +02:00
Jérôme Leclercq 7d2673eabd Shader: Fix shader serialization 2020-09-01 18:46:57 +02:00
Jérôme Leclercq ef737a8ecd Add basic EGL support 2020-09-01 18:46:35 +02:00
Jérôme Leclercq 4dc0005c6f VulkanRenderer: Fix standard validation layers 2020-08-28 15:53:03 +02:00
Jérôme Leclercq ea8f34c45e Rename WGL folder from Win32 to WGL 2020-08-28 15:52:31 +02:00
Jérôme Leclercq 8d873a8307 Fix a lot of small errors/warnings 2020-08-28 15:42:19 +02:00
Jérôme Leclercq 0ff0425045 Some more fixes, hopefully GCC will stop shitting itself now 2020-08-27 23:22:13 +02:00
Jérôme Leclercq 4aee707bb4 Some more fixes 2020-08-27 21:43:19 +02:00
Jérôme Leclercq 36120b9501 Compilation fixes 2020-08-27 20:24:27 +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 df51526841 Fix some compilation errors 2020-08-27 20:02:20 +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 2873eaefaa SDK: Remove deprecated LuaBinding 2020-08-27 19:26:14 +02:00
Jérôme Leclercq 94523980fa Fix Audio & Physics compilation 2020-08-27 19:26:04 +02:00
Jérôme Leclercq a28635ec70 Merge pull request #326 from DigitalPulseSoftware/vulkan
Add OpenGL / Vulkan renderers
2020-08-27 18:38:21 +02:00
Jérôme Leclercq 51ec9741df OpenGLRenderer: Handle resize/minimize 2020-08-27 18:32:22 +02:00
Jérôme Leclercq 7c9dcdfbe4 Allocate command buffers from pools 2020-08-27 18:31:26 +02:00
Jérôme Leclercq cbdac32f5f VulkanRenderer: Handle window resize 2020-08-27 16:16:33 +02:00
Jérôme Leclercq 63f259b907 SpirvAstVisitor: Add safety assert 2020-08-24 16:49:59 +02:00
Jérôme Leclercq f5fa211609 ShaderAstCloner: Fix Swizzle case 2020-08-24 16:49:38 +02:00
Jérôme Leclercq ba777ebbca Shader/SpirvPrinter: Add settings 2020-08-24 16:49:14 +02:00
Jérôme Leclercq 77b66620c9 Refactor SpirV classes
SpirvStatementVisitor was merged with SpirvExpressionLoad
SpirvExpressionLoadAccessMember was renamed SpirvExpressionLoad
2020-08-23 21:56:30 +02:00
Jérôme Leclercq 93de44d293 Big SpirVWriter refactor 2020-08-23 18:32:28 +02:00
Jérôme Leclercq 66a14721cb Shader/Spirv: Put types and constants in the same section 2020-08-21 22:51:11 +02:00
Jérôme Leclercq cd23c01ace Shader: AccessMember can now access nested fields 2020-08-21 22:50:30 +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 0b507708f4 Shader/SpirvWriter: Split section to another class + improve variadic parameters support 2020-08-18 00:00:05 +02:00
Jérôme Leclercq 73e88a2573 Add Spir-V header/source generator 2020-08-17 23:59:08 +02:00
Jérôme Leclercq 608b80981d Fix OpenGL & Vulkan renderers 2020-08-11 00:13:00 +02:00
Jérôme Leclercq 1a12e18a36 Fix copyright dates and some defines 2020-08-11 00:01:49 +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 0313f2d0a6 Enable GL_DEBUG_OUTPUT 2020-08-09 18:43:44 +02:00
Jérôme Leclercq d9b34b4ba8 OpenGLRenderer: Handle GL_DEBUG_SEVERITY_NOTIFICATION 2020-08-09 18:41:28 +02:00
Jérôme Leclercq d4f60c174e OpenGLRenderer: Flip screenspace 2020-08-09 18:40:59 +02:00
Jérôme Leclercq ac7b523bc7 OpenGLRenderer: Fix textures 2020-08-09 18:38:58 +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 3829f0a002 ShaderAstCloner: Improve code readability 2020-08-05 16:28:41 +02:00
Jérôme Leclercq d6d452d43d Add ShaderAstCloner 2020-08-05 15:30:23 +02:00
Jérôme Leclercq 74fb01af28 Rename a few classes 2020-08-04 15:31:47 +02:00
Jérôme Leclercq 7a5f91f740 SpivWriter WIP
We have debug label, annotations, types and constants. The big part missing is instructions
2020-08-04 01:35:30 +02:00
Jérôme Leclercq 7fd3264d08 Add FieldOffsets class 2020-08-04 01:33:52 +02:00
Jérôme Leclercq 7736312c2f ShaderNodes: Replace union by std::variant 2020-08-04 01:33:31 +02:00
Lynix 50bd150345 WIP 2020-08-02 20:42:51 +02:00
Lynix 10860ed562 Improve code 2020-07-31 12:36:37 +02:00
Lynix 2271432748 Renderer/ShaderValidator: Use ShaderVarVisitor instead of switch 2020-07-29 14:39:34 +02:00
Lynix a02dd3bf05 Renderer: Add ShaderRecursiveVisitor 2020-07-29 14:31:54 +02:00
Jérôme Leclercq 251810ca99 WIP SpirvWriter 2020-07-29 11:22:52 +02:00
Jérôme Leclercq 59add283cf Add shader type 2020-07-27 18:52:58 +02:00
Lynix aff617f147 Network: Replace some String by std::string 2020-07-25 14:32:53 +02:00
Jérôme Leclercq 063b7dd602 Renderer/GlslWriter: Add parenthesis where required (wip) 2020-07-22 14:48:15 +02:00
Jérôme Leclercq c6c301c9f5 ShaderNode: Fix BufferField remaining bugs 2020-07-22 14:47:57 +02:00
Jérôme Leclercq 7b1d712560 ShaderNode: Fix struct members serialization 2020-07-22 14:47:13 +02:00
Jérôme Leclercq 471194ec16 ShaderNode: Add PositionOutputValue 2020-07-22 14:47:00 +02:00
Jérôme Leclercq 5a350ee76b ShaderNode: Add Mat4x4 type and nodes 2020-07-22 14:46:44 +02:00
Jérôme Leclercq b441bab218 Renderer/ShaderNodes: Fix BinOp expression type 2020-07-22 14:45:40 +02:00
Jérôme Leclercq db945d11fb Renderer/GlslWriter: Fix generation bugs 2020-07-22 14:45:19 +02:00
Jérôme Leclercq f66758f99b Renderer/ShaderSerializer: Fix AccessMember 2020-07-22 14:44:49 +02:00
Jérôme Leclercq 5ce67f434b Finish BufferField 2020-07-20 20:41:22 +02:00
Jérôme Leclercq 042eb067a0 Move and rename functions 2020-07-20 11:21:31 +02:00
Jérôme Leclercq 405c020125 Set some struct in default scene for testing 2020-07-19 21:08:53 +02:00
Jérôme Leclercq 3c1c61fb5e Improve code 2020-07-19 21:08:43 +02:00
Jérôme Leclercq e342c88e64 ShaderNodes/InputValue: Fix output type when using Float1 2020-07-19 21:08:25 +02:00
Jérôme Leclercq 5258f0b61a ShaderNodes: Add BufferField node 2020-07-19 21:08:21 +02:00
Jérôme Leclercq 086f76fb97 Renderer/ShaderNodes: Add support for accessing struct fields 2020-07-19 21:05:46 +02:00
Jérôme Leclercq 1d2fb88198 Renderer: Rename enums
ExpressionType => BasicType
ShaderAst::Type => ShaderExpressionType
2020-07-16 18:34:58 +02:00
Jérôme Leclercq c7a8091e68 ShaderNode: Add buffers and structs 2020-07-14 22:00:17 +02:00
Jérôme Leclercq fbba281d14 Renderer: Add support for struct and UBO 2020-07-14 21:59:49 +02:00
Jérôme Leclercq cd01facd01 GlslWriter: Handle OpenGL ES precision qualifier 2020-07-08 22:52:33 +02:00
Jérôme Leclercq b076a517c6 Merge branch 'vulkan' into shader-nodes 2020-07-08 22:38:24 +02:00
ImperatorS79 ee93680083 Fix arrayLayers not being correctly computed in VulkanTexture.cpp for ImageType_2D_array 2020-07-08 22:32:50 +02:00
Jérôme Leclercq 5164294bec ShaderNodes: Add TextureEdit dialog 2020-07-04 22:52:17 +02:00
Jérôme Leclercq 33d94c05f3 ShaderNodes: Use PreviewValues instead of QImage 2020-07-03 22:53:00 +02:00
Jérôme Leclercq 83cf358d02 Physics2D/RigidBody2D: Fix EnableSimulation 2020-07-03 16:27:14 +02:00
Lynix 4f671873c1 Renderer: Add NazaraBinary shader "language" and handle it in OpenGLRenderer 2020-06-18 20:05:22 +02:00
Lynix 58e59be267 ShaderNode: Add compile to binary action 2020-06-18 20:04:39 +02:00
Lynix 74acf440fc Minor fixes 2020-06-18 20:04:25 +02:00
Lynix 691de5b5c4 Renderer/ShaderSerialize: Use ByteStream instead of ByteArray 2020-06-18 20:03:56 +02:00
Lynix bc490a2fe5 Renderer/GlslWriter: Fix double identifier bug 2020-06-18 20:03:33 +02:00
Lynix 66a98b234f Renderer/GlslWriter: Add environment 2020-06-18 20:03:22 +02:00
Lynix 736ca1c409 Renderer/ShaderAst: Add serialization 2020-06-17 20:09:21 +02:00
Lynix 0ff10bf1e2 Improve GLSL output when using intrinsic 2020-06-17 16:07:58 +02:00
Lynix f38bfdde8a ShaderAst: Big refactor + add binding/location support 2020-06-17 16:00:03 +02:00
Lynix 463b540739 ShaderEditor: Add VecFloatMul 2020-06-16 17:46:03 +02:00
Lynix 80527dec3e ShaderEditor: Add VecDot 2020-06-16 17:45:36 +02:00
Lynix d3db22ce22 ShaderEditor/VecBinOp: Add component check 2020-06-16 17:45:21 +02:00
Lynix 9b911ac4bc Renderer/ShaderAst: Minor fixes relative to float/vec multiplication 2020-06-16 17:44:54 +02:00
Lynix 90abb52e4e ShaderEditor: Fixes 2020-06-16 17:44:20 +02:00
Lynix 2258a4f87f Add ShaderValidator 2020-06-06 16:44:17 +02:00
Lynix 8467c79021 Renderer: Add shader serialization 2020-06-05 19:47:29 +02:00
Lynix de1c64253e Fix missing files 2020-06-04 18:31:43 +02:00
Lynix 0888589716 ShaderNode: Add save/load 2020-06-04 18:31:35 +02:00
Lynix 5790b502f7 ShaderNode: Add VecDiv 2020-06-04 18:30:54 +02:00
Lynix 725ecc7606 ShaderNode: Add FloatValue 2020-06-04 18:30:40 +02:00
Lynix 25562a5856 Renderer/ShaderAst: Add BinaryFunc 2020-06-04 18:29:50 +02:00
Lynix 41b50eeac3 Fix compilation 2020-06-03 19:09:51 +02:00
Lynix 1b4199c0a7 Platform/SDL2: Don't SDL_PumpEvents when not owning Windows
This is a temporary fix
2020-06-02 16:40:08 +02:00
Lynix a73251f2df OpenGLRenderer: Fix version parsing
OpenGL ES 3.0 implementations don't seem to follow the spec, use GL_MAJOR_VERSION and GL_MINOR_VERSION instead
2020-06-01 17:11:34 +02:00
Lynix 8f04412a3f OpenGLRenderer: Fix GLES context creation
core profile bit has not meaning to OpenGL ES
2020-06-01 16:17:04 +02:00
Lynix 960a5c2d05 OpenGLRenderer: Fix extension loading 2020-06-01 16:16:41 +02:00
Lynix effd1b4552 ShaderNode: Handle vector component count at runtime 2020-05-31 18:39:28 +02:00
Lynix 2ecc624fe4 ShaderNode: Add custom output support 2020-05-30 14:31:11 +02:00
Lynix 0a0dce4109 ShaderNode: Add possibility to set variable name (+ force variables) 2020-05-29 18:22:58 +02:00
Lynix eabb8a630d ShaderNode: Extract texture from SampleTexture
Add TextureData and TextureValue node
2020-05-28 10:50:38 +02:00
Lynix 6ff670f13f ShaderNode: Move VecData to DataTypes folder 2020-05-28 10:47:49 +02:00
Lynix 2db78f5b10 Seriously 2020-05-28 00:22:54 +02:00
Lynix bc7ffb6ff3 ShaderNode: Add preview size option 2020-05-28 00:11:34 +02:00
Lynix 0ec927b82e ShaderNode/NodeEditor: Replace QVBoxLayout by QFormLayout 2020-05-28 00:11:16 +02:00
Lynix f8779915d3 Update OpenGL.cpp 2020-05-28 00:10:40 +02:00
Lynix 0f36131d9d Remove dependency to xcb_image 2020-05-28 00:00:48 +02:00
Lynix a1d7bc49c2 Update ScopedXCB.cpp 2020-05-27 23:45:31 +02:00
Lynix 85a5e8eedd Fix compilation 2020-05-27 22:57:32 +02:00
Lynix 89504de465 More commits for science 2020-05-27 21:24:56 +02:00
Lynix 3f5b041a81 Add some GLX files back 2020-05-27 21:16:59 +02:00
Lynix 4f9380da11 More Linux fixes 2020-05-27 21:01:14 +02:00
Lynix 1734b8e5db SDL fixes 2020-05-27 20:37:20 +02:00
Lynix 3fc4de26e3 ShaderGraph: Improve GLSL generation by introducing DeclareVariable statement 2020-05-27 20:08:41 +02:00
Lynix e4348349da Merge branch 'vulkan' into shader-nodes 2020-05-27 20:04:37 +02:00
Lynix e0e7435c55 Merge fixes 2020-05-27 20:03:46 +02:00
Lynix 68208f5426 Merge branch 'master' into vulkan 2020-05-27 19:48:22 +02:00
Lynix 81f03f04e5 Revert Renderer to its pre-SDL state 2020-05-27 19:42:53 +02:00
Lynix 2d189dc85e Fix WindowHandles 2020-05-27 18:55:03 +02:00
Lynix b0c72a6101 Replace platform backends by SDL 2020-05-27 17:47:52 +02:00
Lynix c071f52d8f Platform/Mouse: Add SetRelativeMouseMode 2020-05-27 17:08:49 +02:00
Jérôme Leclercq 1425f99edf Merge branch 'master' into SDL2 2020-05-27 11:11:21 +02:00
Lynix 1d033aabfd ShaderNode: Fix useless variables generation 2020-05-27 10:00:52 +02:00
Lynix d96bc9db6e ShaderNode: Add automatic variables 2020-05-26 20:30:24 +02:00
Lynix 09e08255fb ShaderAst: Add node editor window 2020-05-26 19:22:31 +02:00
Lynix b1b9030359 Math/Vector[I]: Replace implicit pointer conversion by [] operator overload 2020-05-26 16:03:57 +02:00
Lynix 460222e71e ShaderNode: Make #include explicit 2020-05-25 14:40:46 +02:00
Lynix 1165093b4e Replace some insert by emplace 2020-05-23 22:08:12 +02:00
Lynix 8fa456bdf5 Renderer: Remake backend selection 2020-05-23 22:07:22 +02:00
Lynix fdeff2e9d0 ShaderAst: Fix SwizzleOp::GetExpressionType 2020-05-23 22:05:37 +02:00
Lynix 93e76a17c7 ShaderNode: Add preview / cast / texture sampling 2020-05-23 22:04:10 +02:00
Lynix 206724c911 ShaderNode: Add inputs 2020-05-22 23:50:46 +02:00
Lynix 5169e0fe83 ShaderNode: Add captions 2020-05-22 19:21:56 +02:00
Lynix 33c8fe2562 ShaderNode: Add texture support 2020-05-22 15:39:10 +02:00
Lynix effaa9b88f Update ShaderNode 2020-05-19 20:06:32 +02:00
Lynix e23eb74802 Renderer/ShaderAst: Add Sample2D 2020-05-19 20:06:11 +02:00
Lynix c26f3b9b71 Add shadernode (big WIP) 2020-05-18 19:55:12 +02:00
Lynix 8c0d34313e GlslWriter: Fix bug 2020-05-18 19:55:00 +02:00
Jérôme Leclercq 8d8f44f4b9 Make Windows implementation DPI-Aware (+ fix issue with window position) (#322)
* WindowImpl : Fix windows centering on desktop

* WindowImpl : Make nazara DPI aware

* Refactor dpi stuff

* Minor aesthetic stuff

* More minor stuff

Co-authored-by: HardCPP <hardcpp@gmail.com>
2020-05-18 17:04:52 +02:00
Lynix 6a23d51147 OpenGL: Implement commands buffers 2020-05-11 14:12:13 +02:00
Lynix fe5b70ae1c OpenGL: Implement VAOs 2020-05-11 14:10:36 +02:00
Lynix 332278dded OpenGL: Random stuff I forgot 2020-05-11 14:05:40 +02:00
Lynix 2ea03fe05f OpenGL: Implement Framebuffers 2020-05-11 14:03:54 +02:00
Lynix 34804189d8 OpenGL: Set GL_TEXTURE_MAX_LEVEL 2020-05-11 14:01:57 +02:00
Lynix 51009cd745 OpenGL: Switch to SRGB formats 2020-05-11 14:01:45 +02:00
Lynix 3cf53c4d9a OpenGL: Implement RenderPipeline 2020-05-11 14:01:17 +02:00
Lynix 49c68e581a OpenGL: Fix TextureSampler mipmap issue 2020-05-11 13:58:12 +02:00
Lynix 6073d8f592 OpenGL: Implement UploadPool 2020-05-11 13:57:11 +02:00
Lynix b7a7c84a89 Minor fixes 2020-04-26 18:22:07 +02:00
Lynix 32157503e8 OpenGL: Implement RenderPipelineLayout 2020-04-26 18:21:38 +02:00
Lynix 0b05feb7e3 OpenGL: Implement buffers 2020-04-26 18:20:36 +02:00
Lynix 494801282d Minor fixes 2020-04-26 16:29:39 +02:00
Lynix e9f0b01e02 OpenGLRenderer: Implement TextureSampler (and texture units) 2020-04-26 16:29:31 +02:00
Lynix b4b15f826d OpenGL: Implement textures 2020-04-19 15:33:56 +02:00
Lynix 349e915e10 OpenGL: Link contexts to device 2020-04-19 15:33:36 +02:00
Lynix bd6924d66d OpenGL: Handle Spir-V 2020-04-19 15:31:48 +02:00
Lynix f63d045676 OpenGL: Better handling for activation/desactivation 2020-04-19 15:28:59 +02:00
Lynix d62e99091f OpenGL: Implement debug callback 2020-04-19 15:19:16 +02:00
Lynix a842e89881 Fix some missing files 2020-04-19 01:38:52 +02:00
Lynix 506099fcd7 OpenGL: Implement ShaderStage 2020-04-19 01:38:38 +02:00
Lynix 9dd208c3cf OpenGL: Fix contexts & loaders 2020-04-19 01:38:19 +02:00
Lynix 4dc8920a73 Implement some classes 2020-04-19 01:37:56 +02:00
Lynix 5c3eb31d4a OpenGL: Implement device 2020-04-19 01:36:44 +02:00
Lynix 3b24d020e8 Minor stuff 2020-04-19 01:24:37 +02:00
Lynix 68760209c1 Add OpenGLRenderer (WIP) 2020-04-15 19:38:11 +02:00
Lynix ebb271a089 Renderer: Fix crash when choosing another renderer 2020-04-15 19:38:01 +02:00
Lynix e905c3a004 Move Vulkan debug callback to module 2020-04-13 15:12:58 +02:00
Lynix 75241ed8f0 VkRenderWindow: Default to RGBA8 if supported 2020-04-13 15:11:35 +02:00
Lynix d9a08640d6 Vulkan: Add renderpass and framebuffers 2020-04-10 17:36:05 +02:00
Lynix 9507c56fc9 PixelFormat rename
PixelFormatInfo => PixelFormatDescription
PixelFormat => PixelFormatInfo
PixelFormatType => PixelFormat
2020-04-10 14:19:36 +02:00
Lynix 87f1209327 Vulkan: Refactor command buffer and introduce command pool 2020-04-07 21:10:16 +02:00
Lynix f6d21d066e Vulkan: Improve RenderWindow subpass dependencies 2020-04-06 21:14:18 +02:00
Lynix ac8b908079 Vulkan: Replace ShaderBinding& by ShaderBindingPtr 2020-04-06 21:13:59 +02:00
Lynix f443bec6bc Add command buffers (WIP) 2020-04-02 21:07:01 +02:00
Lynix cf396b0792 Add support for VK_EXT_debug_utils 2020-03-26 23:34:58 +01:00
Lynix 15b95ca4a1 Minor and forgotten stuff 2020-03-26 21:20:00 +01:00
Lynix 1dc0ed8e94 Add ShaderBinding 2020-03-26 21:19:46 +01:00
Lynix 874130efd4 Implement Texture and TextureSampler 2020-03-26 21:18:35 +01:00
Lynix b73d3e8f04 Add and make use of Vulkan Memory Allocator 2020-03-26 21:15:49 +01:00
Lynix 509c392e05 Implement UploadPool to efficiently update UBOs 2020-03-26 21:13:06 +01:00
Lynix d892e8eaff Add support for Vulkan 1.1 & 1.2 2020-03-26 20:42:57 +01:00
REMqb 96ea792656 ~ Formatting 2020-03-21 12:42:50 +01:00
Lynix 42d58bd77c Vulkan: Add physical device extension listing 2020-03-18 13:58:30 +01:00
Lynix 07fa581525 Cleanup device creation/selection 2020-03-18 13:48:53 +01:00
Lynix 4ede9f1cfe Add texture in demo 2020-03-18 13:48:05 +01:00
Lynix 9cc206b33e Minor C++ fixes 2020-03-17 17:13:27 +01:00
Lynix 5fde1e335b VulkanBuffer: Use WaitIdle instead of a fence (same effect) 2020-03-15 13:26:36 +01:00
Lynix 74adef0aec OCD fix 2020-03-14 17:34:21 +01:00
Lynix cee47f366f Rename Vk::Queue to Vk::QueueHandle 2020-03-14 17:33:50 +01:00
Lynix b774a879b6 Rework buffers synchronization 2020-03-13 18:44:49 +01:00
Lynix 63547fcd4e Replace DeviceHandle by references
and keep device alive until Vulkan is freed
2020-03-13 18:38:26 +01:00
Lynix 4cf24cde7d VertexDeclaration: Add check for duplicates 2020-03-08 18:10:23 +01:00
Lynix 28cf4ed6e3 Make Vk::Device store a reference to Vk::PhysicalDevice info 2020-03-08 18:10:12 +01:00
Lynix 0e27c2315f Move Vulkan functions list to external files 2020-03-08 18:09:45 +01:00
Lynix 2b3241f354 Add RenderPipelineLayout 2020-03-05 20:35:31 +01:00
Lynix 4941de61da Spaaaace 2020-03-05 17:28:16 +01:00
Lynix c23b6dfa01 Copyright year update
I can't wait to see the conflicts this will cause
2020-03-05 17:27:26 +01:00