Commit Graph

3599 Commits

Author SHA1 Message Date
Lynix 525f24af2e Shader/ShaderLang: Add support for Unary operators 2021-05-16 23:07:25 +02:00
Jérôme Leclercq 51c099b3ce Renderer: Allow UploadPool to handle very big (>= 2MB) blocks 2021-05-15 15:27:17 +02:00
Jérôme Leclercq a4052112fe Update UnicodeData.hpp 2021-05-14 03:35:32 +02:00
Jérôme Leclercq 6ed3d2b144 Fix newton include 2021-05-14 03:35:32 +02:00
Jérôme Leclercq 223b41490b Fix sndfile inclusion 2021-05-14 03:35:32 +02:00
Jérôme Leclercq 2641117847 Add building using xmake and cleanup thirdparty 2021-05-14 03:35:32 +02:00
Jérôme Leclercq a18d8859d5 Update basicmaterial binary 2021-05-14 02:11:08 +02:00
Jérôme Leclercq 8840f0bba8 Shader: Fix SPIRV operand for vector / primitive division 2021-05-14 02:10:29 +02:00
Jérôme Leclercq bb207fea4f Shader: Fix Swizzle generation for SPIRV 2021-05-14 02:09:54 +02:00
Jérôme Leclercq 830ec6ac94 Add a few helper functions 2021-05-14 02:09:25 +02:00
Jérôme Leclercq f280cff0a2 Renderer: Add release queue to fix deletion while use 2021-05-14 02:04:47 +02:00
Jérôme Leclercq 51ecff2912 ShaderLang: Add support for length intrinsic 2021-05-14 02:02:12 +02:00
Jérôme Leclercq 24f7b75654 Renderer: Add support for PixelFormat_RGBA32F 2021-05-14 01:57:32 +02:00
Jérôme Leclercq bbfe06c443 Renderer: Fix UploadPool allocations references 2021-05-14 01:56:32 +02:00
Jérôme Leclercq aeac3282e4 Renderer: Add RenderDevice::GetDeviceInfo() 2021-05-14 01:55:16 +02:00
Jérôme Leclercq adbf1e1da0 Renderer: Add proper support for blending 2021-05-14 01:50:46 +02:00
Jérôme Leclercq 61dbd91346 Lot of small fixes/improvements 2021-05-14 01:48:47 +02:00
Jérôme Leclercq 9376cfefd2 Graphics/FrameGraph: Add support for pass name (as debug sections) 2021-05-14 01:45:45 +02:00
Jérôme Leclercq ee690072f8 VulkanRenderer: Enable synchronization validation in debug 2021-05-05 12:06:30 +02:00
Jérôme Leclercq 961c3bf1df Shader: Fix LangWriter generation 2021-05-05 12:06:02 +02:00
Jérôme Leclercq 7d4a084a62 Shader/Parser: Fix handling of . in rvalues + add support for swizzling
For example: var.field was okay but texture.Sample(uv).x wasn't
2021-05-05 12:05:46 +02:00
Jérôme Leclercq eb67990b7b Shader: Fix SpirV generation for Swizzle expressions
+ fix OpSampledImage
2021-05-05 12:04:09 +02:00
Jérôme Leclercq bfb93bc925 VulkanRenderer: Fix VkRenderWindow subpass dependencies 2021-05-05 12:02:00 +02:00
Jérôme Leclercq 10aa7231b6 Renderer: Fix MRT support 2021-05-05 12:01:20 +02:00
Jérôme Leclercq 990193ebb4 Minor fixes 2021-05-02 13:58:56 +02:00
Jérôme Leclercq 55c2dd8485 Add FrameGraph (WIP) 2021-05-02 13:58:35 +02:00
Jérôme Leclercq 377129586b Renderer: Rename some TextureLayout entry 2021-05-02 13:57:24 +02:00
Jérôme Leclercq 8028044966 Fix Linux compilation 2021-04-20 18:18:27 +02:00
Jérôme Leclercq f85d11e55b Fix Graphics module compilation 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 0cc392b78f Shader/SpirvWriter: Fix Image not registering Float as a dependent type 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 044195b209 Minor fixes 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 2238bbfa0c Shader: Add AstReflect 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 500ccda85a Shader: StatementPtr& => const StatementPtr& 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 1a8599ba29 Shader: Add sanitization of identifiers (fixes GLSL generation) 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 8359d46711 Graphics fixes 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 5bdbb866b5 Shader: Add LangWriter (outputs NZSL) 2021-04-20 18:18:27 +02:00
Jérôme Leclercq e7a9fd95ea ShaderNode fixes 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 3a7f5c2630 Shader: Fix optimization 2021-04-20 18:18:27 +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 9fd4249a87 Shader: compilation fixes 2021-04-20 18:18:27 +02:00
Jérôme Leclercq fce336bfc9 Shader: Fix struct attributes handling 2021-04-20 18:18:27 +02:00
Jérôme Leclercq d335d44d6a Shader: Cleanup and rename AST files 2021-04-20 18:18:27 +02:00
Jérôme Leclercq afe3a0ea93 Shader: Merge AstScopedVisitor, AstValidator and TransformVisitor to SanitizeVisitor 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 8515c9cea1 Shader: Improve ShaderAstCloner 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 0bb9c37a38 Shader/Lang: [[attribute]] => [attribute] 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 54c34869a4 Fix Shader unit tests 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 3e704b9ea6 Shader: Minor fixes 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 85ce6a4f43 Shader: Fix struct nesting 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 0860a0689f Shader/GlslWriter: Improve GLSL readability 2021-04-20 18:18:27 +02:00
Jérôme Leclercq a90937eb4f Update ShaderNode 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 aababb205f Shader: Move attribute parsing to parser, simplifying writer code 2021-04-20 18:18:27 +02:00
Jérôme Leclercq bca1561f73 Shader/GlslWriter: Improve GLSL output 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 854bb16320 VulkanRenderer: Fix OpEntryPoint parsing 2021-04-20 18:18:27 +02:00
Jérôme Leclercq ea99c6a19e Shader: First working version on both Vulkan & OpenGL (ES) 2021-04-20 18:18:27 +02:00
Jérôme Leclercq f93a5bbdc1 Shader: Rework scope handling 2021-04-20 18:18:27 +02:00
Jérôme Leclercq feffcfa6e5 VulkanRenderer: Fix handling of shader modules 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 09df5f389e Shader: Add SpirvDecoder 2021-04-20 18:18:27 +02:00
Jérôme Leclercq e4aabf309e Renderer: Replace ShaderStage by ShaderModule (a module can handle multiple stages) 2021-04-20 18:18:27 +02:00
Jérôme Leclercq c1d1838336 ShaderLang: Proof of concept (add support for a lot of things) 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 9d8ce8f2cd Shader: Add support for function attributes (entry) 2021-04-20 18:18:27 +02:00
Jérôme Leclercq a318b28cd6 Shader: Improve SpirvPrinter output 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 593d80c80e SpirV grammar parser: Add result id operand and version info 2021-04-20 18:18:27 +02:00
Jérôme Leclercq f694eb767f Shader: Fix return type not being properly registered 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 5598487e87 ShaderLang: Improve lexer 2021-04-20 18:18:27 +02:00
Jérôme Leclercq da81a5b871 Shader: Add attribute parsing 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 8135f22b2f Shader: Add attribute and square bracket tokens (first step for attribute support) 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 3f74ee4d66 Shader: Rework Parser internals 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 48b93a9dea Shader: Fix SPIRV generation 2021-04-20 18:18:27 +02:00
Jérôme Leclercq fed7370e77 Rework shader AST (WIP) 2021-04-20 18:18:27 +02:00
Jérôme Leclercq b320b5b44e Shader: Add function parameters and return handling 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 9a0f201433 Initial shaderlang commit 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 57adfa09de VulkanRenderer: Fix Depth24Stencil8 format 2021-02-20 19:25:38 +01:00
Jérôme Leclercq b291f8a21c Renderer: Implement TextureUsage 2021-02-20 19:25:25 +01:00
Jérôme Leclercq 311cfeaf3c OpenGLRenderer: Fix Y flipping for FBOs 2021-02-20 19:23:29 +01:00
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
Lynix 74275292bf Some cleanup 2020-03-05 17:24:55 +01:00
Lynix 9515f1c807 Improve synchronization based on vulkan-tutorial
https://vulkan-tutorial.com/Drawing_a_triangle/Drawing/Rendering_and_presentation
2020-03-04 20:13:37 +01:00
Lynix 9f4037e461 Reverse front face 2020-03-04 18:55:37 +01:00
Lynix 7ba9a33d35 Add Fence objects (+ use them for sync) 2020-03-04 18:50:41 +01:00
Lynix 7bf734cdd4 Improve pipeline building 2020-03-03 22:26:57 +01:00
Lynix d5c75926c6 WIP (VertexDeclaration) 2020-03-03 01:04:24 +01:00
Lynix 287be5d9b6 WIP 2020-03-01 20:31:48 +01:00
Lynix 286461c482 Make use of Nazara uniform buffer 2020-03-01 12:49:49 +01:00
Lynix af28ea02a8 Vulkan usage fixes 2020-02-29 23:28:59 +01:00
Lynix 5d449095bf Renderer: Add ShaderStage class 2020-02-29 23:28:21 +01:00
Lynix 798425ce10 Some work on render pipelines 2020-02-27 23:12:29 +01:00
Lynix 2944d73586 Fix instance extensions/layers query 2020-02-27 23:12:05 +01:00
Lynix c05ea4095a Begin work on RenderPipeline 2020-02-25 22:56:08 +01:00
Lynix 7bbba14ba0 Fix merge 2020-02-25 20:22:46 +01:00
Lynix cb66dddd45 Merge branch 'nazara-next' into vulkan 2020-02-25 19:15:07 +01:00
Lynix b6b3ac9f31 Move SDK include and source to base 2020-02-24 18:23:30 +01:00
Lynix eb8800f812 Remove Lua and Noise modules 2020-02-24 17:52:06 +01:00
Lynix 79f732ee8a VulkanRenderer: Replace ObjectHandle by std::shared_ptr/raw pointers 2020-02-23 12:02:15 +01:00
Lynix 7c1857ba1e Fix missing include 2020-02-23 11:36:50 +01:00
Lynix 6fd31d1c71 [Posix] Moar fixes 2020-02-23 11:29:54 +01:00
Lynix a51e77fe83 [Posix] Fix compilation 2020-02-23 11:14:41 +01:00
Lynix 6ec2f3e56e More Linux fixes 2020-02-23 02:49:32 +01:00
Lynix 3857025253 *darth vader yelling noooooo gif* 2020-02-23 02:38:06 +01:00
Lynix 97a62a4817 StringExt: Fix some template mistakes 2020-02-23 02:35:09 +01:00
Lynix 9ac5aadc9d I swear I fixed that 2020-02-23 02:29:47 +01:00
Lynix f084c30d70 Posix fixes 2020-02-23 02:26:36 +01:00
Lynix 8ace61ce7d DynLib: Posix fixes 2020-02-23 02:17:27 +01:00
Lynix 364122f582 SparsePtr: Make pointer conversion explicit 2020-02-23 02:06:48 +01:00
Lynix 0c008236ba Minor fixes + update vulkan include 2020-02-23 01:28:16 +01:00
Lynix 8be2342f25 Merge branch 'master' into vulkan 2020-02-23 00:46:48 +01:00
Lynix 3d22321109 Big f***ing cleanup part 1 2020-02-23 00:42:22 +01:00
Lynix 369e21cafb Align fix 2020-02-04 11:42:11 +01:00
Lynix e35caebdcf Core: Add ByteArrayPool and PoolByteStream classes 2020-02-04 11:42:05 +01:00
Lynix d435826651 Forgot this 2020-01-26 17:30:32 +01:00
Lynix 63c9cf7b18 Remove useless cast 2020-01-26 17:29:42 +01:00
Lynix 468b63bef5 Aw shit, forgot a lot of things 2020-01-26 17:13:52 +01:00
Lynix 8c7301f649 Utility/RichTextDrawer: Add character & line spacing offsets 2020-01-26 16:57:56 +01:00
Lynix 11d51872fa Utility/SimpleTextDrawer: Add character spacing offset 2020-01-26 16:18:28 +01:00
Lynix 548ede4613 Utility/*TextDrawer: Use float internally
+ some fixes
2020-01-25 19:07:20 +01:00
Lynix 59d80dbe6d Utility/SimpleTextDrawer: Fix a lot of minor bugs
+ add .inl
2020-01-25 15:25:10 +01:00
Lynix d3ad92f063 Update default font (Sansation => OpenSans)
Sansation was too sci-fi...
2020-01-18 16:31:57 +01:00
Lynix db78c9c948 Renderer/Texture: Remove Image constructor 2020-01-09 22:42:28 +01:00
Lynix 16d0345502 Update default font (Cabin => Sansation) 2020-01-06 18:26:39 +01:00
Lynix c73d08af9b Core/Thread: Make use of SetThreadDescription if possible (win32) 2020-01-06 15:35:48 +01:00
Lynix b3af14f65a Utility/OBJLoader: Fix OBJ uvs 2020-01-04 12:15:54 +01:00
Lynix df2a029f30 Physics2D/Collider2D: Add support for neighbors vertices 2020-01-01 17:25:22 +01:00
Lynix 35cf05e3bc Core: Add EmptyStream class 2019-12-29 16:25:40 +01:00
Lynix 0bcd8769fe Nazara/Network: ENetHost::GetTotalReceivedPackets now returns the number of commands received 2019-12-29 11:55:07 +01:00
Lynix 24cb8f6845 Add ENet::GetTotalPacketReceived 2019-12-29 11:54:00 +01:00
Lynix 2dcf154553 Oops² 2019-12-28 17:32:37 +01:00
Lynix 56243f5a12 Nazara/Network: Add GetTotalByte[Received|Sent] 2019-12-28 17:31:21 +01:00
Lynix 9f8e83087a Oops 2019-12-28 17:19:40 +01:00
Lynix 57b37c3d2c Minor fixes 2019-12-28 15:06:31 +01:00
Lynix fcfcc94c49 Fix RichTextDrawer ignoring max line width 2019-12-28 12:03:41 +01:00
Lynix 97418bfe04 RichText: Add support for outline color/thickness 2019-12-28 11:43:48 +01:00
Lynix a69d7a2e89 Make String::Number locale-independent 2019-12-25 16:26:53 +01:00
Lynix 6920c7c3f7 Fix skybox background looking like crap 2019-12-23 19:45:52 +01:00
Lynix e282b842b4 Add Node::SetScale(Vector2) to prevent a bug 2019-12-22 17:01:05 +01:00
Lynix 3b43f57192 Added physics function to control sleeping behavior 2019-12-19 21:33:56 +01:00
REMqb ef791e2f3c ~ WIP input IME 2019-12-19 19:59:43 +01:00
Lynix 7e6dcdf740 Wait wat 2019-12-13 17:25:00 +01:00
Lynix 3760c8b5c4 Utility/Node: Fix negative scaling not affecting rotation 2019-12-13 17:23:01 +01:00
Lynix be8e89b228 Math: Remove all Set(class) methods 2019-12-10 09:49:40 +01:00
Lynix c668d02747 Nazara/Lua: Fix my dumb ass 2019-10-22 14:29:29 +02:00
Lynix 62023c6af7 Physics2D/RigidBody2D: Fix body type not being copied 2019-10-15 09:34:55 +02:00
Lynix 76812510a1 Core/GuillotineBinPack: Prevent heap allocation when calling Insert with multiple rectangles 2019-09-25 16:18:23 +02:00
Lynix 3c7addc262 Utility/RichTextDrawer: Fixes block removal not adjusting glyph indexes
+ Add HasBlocks method
2019-09-25 09:36:57 +02:00
Lynix 8e4df4cadc SDK: Add RichTextAreaWidget (WIP) 2019-09-25 09:36:57 +02:00
Lynix 451b3de69c Utility: RichTextDrawer now works (WIP) 2019-09-25 09:36:57 +02:00
Lynix 6bc99a6d5e Utility/SimpleTextDrawer: Fix reserve 2019-09-25 09:36:57 +02:00
Lynix 55e3e05f0c Improve line wrap
It will now try to separate at word separations
2019-07-06 19:32:11 +02:00
Lynix 0ec1480024 Add line wrapping 2019-07-05 23:12:12 +02:00
Lynix 37c16dc202 Platform/Event: Add x/y mouse position to MouseWheelEvent 2019-07-05 22:17:22 +02:00
Lynix c23248c564 PhysWorld2D: Fix possible stack overflow when using wildcard collision handler 2019-06-16 15:40:24 +02:00
Lynix dcfd2ad8f9 Physics2D/PhysWorld2D: Add RaycastQuery and RegionQuery overloads taking a callback 2019-05-27 22:42:37 +02:00
REMqb 350a1cf09f ~ Fix linux build
~ Fix dopler example
2019-05-19 17:17:37 +02:00
Lynix ab5188c57d Add scancode and virtual key and fix some sdl stuff on Windows 2019-05-19 16:34:29 +02:00
Jérôme Leclercq 278ff26795 Forgot to fix this for Linux too 2019-04-24 14:29:55 +02:00
Jérôme Leclercq 408d37a27a Network/IpAddress: Fix problem with some IPv6 2019-04-24 13:46:02 +02:00
Lynix 57264a5650 SimpleTextDrawer: Don't regenerate glyphs on outline color update 2019-04-22 17:05:15 +02:00
Lynix 79b0bd644c Add text outlines! 2019-04-16 01:46:26 +02:00
Lynix 8a8c233840 Oops 2019-04-15 16:26:30 +02:00
Lynix e61faae089 Physics2D/PhysWorld2D: Fix multiple calls to RegisterCallbacks with the same collision id 2019-04-15 16:25:40 +02:00
Lynix 080b76a23c Utility/Font: Fix bold not working since last commit 2019-04-13 13:39:19 +02:00
Lynix 0582cbfc26 Utility: Replace UInt32 by TextStyleFlags 2019-04-13 13:09:53 +02:00
Lynix 713a70dd10 Renderer/TextureSampler: Set default texture sampler to Clamp 2019-04-06 15:09:05 +02:00
REMqb 848f05a420 ~ Initial SDL2 implementation
Limitation
- Dependent projects need to set NAZARA_PLATFORM_SDL2 if nazara has been build with SDL2 since OpenGL.hpp (and maybe some other headers) exposes platform details
- SDL2 window doesn't supports async window since the API isn't fitting for now
- Contexts parameters can't be changed until we close all the SDL windows (SDL limitation)
2019-04-03 21:17:06 +02:00
Lynix 3efb54ea3c Physics2D/RigidBody2D: Fix SetPosition 2019-04-03 21:14:17 +02:00
Lynix 0ca823f9a6 Graphics: Remove sprite limit 2019-03-31 16:31:02 +02:00
Lynix 23887cc519 Merge branch 'master' into physics2d-position-offset 2019-03-26 20:33:40 +01:00
Lynix c05d39ed28 Fix some indentation shit 2019-03-26 19:09:46 +01:00
Lynix 1f5a82d178 Physics2D/Collider2D: Fix CircleCollider2D center of mass 2019-03-26 19:04:13 +01:00
Lynix 11e98918ab Physics2D/Collider2D: Add ForEachPolygon method 2019-03-26 19:03:56 +01:00
Lynix ce43b633b9 Physics3D/Collider3D: Update ForEachPolygon signature 2019-03-26 19:02:27 +01:00
Lynix 3beeeebc1d Physics2D/RigidBody: Add position offset 2019-03-26 18:59:18 +01:00
Jérôme Leclercq ffc58e9806 Fix compilation 2019-03-20 17:18:45 +01:00
Jérôme Leclercq 853e01c192 Enet fixes (#200)
* Network/ENet: Fix UnreliableFragment flag

* Network/ENet: Match libenet new behavior on DisconnectLater
2019-03-20 17:12:34 +01:00
Lynix 439a62a7f8 Physics2D: Automatically compute center of mass 2019-03-17 15:56:38 +01:00
Lynix cdf9611080 Graphics/TileMap: Fix material index rendering 2019-03-10 18:13:03 +01:00
Lynix 4bf92457c5 Platform: Fix cursor disappearing on Windows in some cases 2019-03-10 15:56:42 +01:00
Lynix 23b2f0a48d Platform/Window: Make PushEvent public 2019-03-10 15:50:16 +01:00
Lynix ec3cb12451 Platform/Cursor: Fixed SystemCursor_Move on Windows 2019-03-10 15:12:20 +01:00
Lynix 8c91d6a77d Platform/Window: Fix SetCursor always changing cursor 2019-03-10 15:11:16 +01:00
larnin a18dbf6bc4 Fix empty tilemap (#198)
* Fix empty tilemap

* Yay
2019-02-13 01:02:57 +01:00
Lynix 662ccbd5d0 Physics2D/RigidBody2D: Add possibility to setup a custom velocity function 2019-01-19 02:31:29 +01:00
Lynix 40cd8a7987 Physics2D/RigidBody2D: Add ForEachArbiter method 2019-01-19 02:29:27 +01:00
Lynix 9be8d0eae4 Add RigidBody2D::GetBodies 2019-01-19 02:25:45 +01:00
Lynix bc625b5c8b Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2019-01-19 02:17:21 +01:00
Alexandre Janniaux c152d2b62b unicode: silence shadow variable warnings (#194) 2019-01-14 22:09:03 +01:00
Lynix cd54cf641b Alignment fix 2018-12-19 22:22:30 +01:00
Jérôme Leclercq beed59b94c Physics2D/RigidBody2D: Fix potential crash if closestDistance is passed as nullptr 2018-11-16 17:42:59 +01:00
Lynix a3fd69a453 Lua/LuaState: Add RawEqual function 2018-11-14 23:54:31 +01:00
Lynix c4cf6d2f53 Graphics/BasicRenderQueue: Extends maximum layer count to 65535 2018-10-29 22:06:09 +01:00
Jérôme Leclercq ed46c87781 Refactor the way resources are loaded (#191)
* WIP

* WIP

* Font works

* WIP: Only Music remains

* Looks like it's working

* Fix oopsie

* Core/ObjectRef: Add cast functions

* Update ChangeLog.md

* Audio/SoundStream: Make sound stream thread-safe
2018-10-28 01:53:11 +02:00
Lynix f3febe5d34 Network/ENetHost: Comment out warning in case of error 2018-10-21 13:53:06 +02:00
Jérôme Leclercq 4c4822eef9 Core/ObjectHandle: Remade object handle system 2018-10-12 15:46:40 +02:00
Lynix 3933d5007d Physics2D/RigidBody2D: AddTorque now takes a RadianAnglesf instead of a float 2018-10-11 00:08:26 +02:00
Lynix fb11fe1ecf Math/Angle: Rename angle field to value 2018-10-10 23:12:27 +02:00
Lynix 30348525d7 Physics2D: Expose elasticity/friction/surface velocity 2018-10-09 23:22:28 +02:00
Lynix dc6fbfc90f Replace floating point angle by Angle class instance 2018-10-09 23:20:53 +02:00
Lynix 34787d6766 Network/SocketImpl: Fix linux build 2018-10-01 23:10:25 +02:00
Lynix aa9bec6e5e Network/TcpClient: Revert to previous behavior on failure 2018-10-01 23:05:14 +02:00
Lynix 67c56b2aba Network/TcpClient: Add PollForConnected 2018-10-01 23:04:53 +02:00
Lynix dad2dbae1c Network/TcpClient: WaitForConnected now returns new socket state 2018-10-01 22:38:20 +02:00
Lynix 13a515c1b5 Network/TcpClient: WaitForConnected now closes the socket on failure 2018-10-01 22:19:49 +02:00
Jérôme Leclercq 706a06b506 Increase NetPacket size from UInt16 to UInt32 2018-09-25 15:51:45 +02:00
Lynix d99ae411c6 Renderer/OpenGL: Fix glUniformMatrix4dv not being loaded 2018-09-09 13:56:29 +02:00
Jérôme Leclercq 56873b92b0 Network/Socket: Fix Connect (timeout) on Windows/Linux 2018-08-30 13:03:50 +02:00
Jérôme Leclercq d0e33225b7 Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2018-08-30 12:10:36 +02:00
Jérôme Leclercq 28c6bd7af7 Network: Log internal errors 2018-08-30 12:10:33 +02:00
Lynix b8e25502f5 Physics2D/RigidBody2D: Fix useless copy 2018-08-29 20:55:19 +02:00
Lynix e62afabd71 Physics2D/Collider2D: Fix CompoundCollider2D filters 2018-08-29 20:54:57 +02:00
Lynix a3a4ed89b8 Graphics/Material: Fix reflection mode not being copied 2018-08-25 22:41:05 +02:00
Lynix 933cb64488 Physics2D/Collider2D: Allow to prevent individual colliders properties override 2018-08-24 16:30:03 +02:00
Lynix b9e36f36e2 Graphics/TileMap: Fix sprite data corruption with multiple materials 2018-08-23 17:46:18 +02:00
Faymoon beca6e7dd5 little fixes (#183)
* Update

* Add: [Get/Set]AngularDaming for standardization

* Fix: Name error

* Add: [Get/Set][AngularDamping/MomentOfInertia] in PhysicsComponent2D

* Forgot in last commit

* Add: param coordSys in [PhysicsComponent2D/RigidBody2D]::SetMassCenter

* Add: Some forgotten inline

* Fix little error

* Fix: Indentation before case

* Move and Change GetCenterOfGravity

* Rename m_world into m_physWorld

* Rename GetWorld int GetPhysWorld

* Update: PhysicsSystem2D became an interface of PhysWorld2D

* Update Collison/PhysicsComponent because GetWorld was renamed

* Update tests

* Update: Make the interface usable with Entity instead of PhysicsComponent

* Update: Make GetPhysWorld private

* Update PhysicsSystem2D.hpp

* Update: indent

* Remove: useless blank line

* update order(?)

* Update PhysicsSystem2D.hpp

* Add calls to GetPhysWorld to attempt a nullptr value

* update include

* little fix

* add some missing inline
2018-08-14 18:44:41 +02:00
Lynix 72e365efb1 Fix compilation on Linux 2018-08-03 20:32:49 +02:00
Lynix 39d1d31639 Core: Integrated Unicode data 2018-08-03 20:24:56 +02:00
Jérôme Leclercq b92e23fcd6 Physics2D: Add Arbiter2D 2018-08-02 15:42:14 +02:00
Faymoon 2f3f02b2fc Update Physics2D Component and Body (#178)
* Update

* Add: [Get/Set]AngularDaming for standardization

* Fix: Name error

* Add: [Get/Set][AngularDamping/MomentOfInertia] in PhysicsComponent2D

* Forgot in last commit

* Add: param coordSys in [PhysicsComponent2D/RigidBody2D]::SetMassCenter

* Add: Some forgotten inline

* Fix little error

* Fix: Indentation before case

* Move and Change GetCenterOfGravity
2018-08-02 11:25:57 +02:00
S6066 4a09de7e0b String::FindLast/FindWord: Fix bug where index wouldn't be used (#177)
* String::FindLast/FindWord: Fix bug where index wouldn't be used

* Log change
2018-08-01 23:12:02 +02:00
Lynix 271f7202ed Core/Unicode: Fix letters category 2018-07-31 19:49:51 +02:00
Jérôme Leclercq 6dfc866a4d Network/ENetPeer: Fix enet stuff 2018-07-17 09:56:30 +02:00
Lynix 01ccca433d Physics/PhysWorld3D: Add [Get|Set]ThreadCount 2018-07-15 16:46:01 +02:00
Jérôme Leclercq a870954762 Network/ENetPeer: Fix reliable sequence number wrap error 2018-07-09 18:06:08 +02:00
Jérôme Leclercq 7da0fffe07 Core: Add StackVector class 2018-07-02 17:56:27 +02:00
Jérôme Leclercq 2fcea6b79f Core/StackArray: Moved StackArray class to its own header 2018-07-02 17:53:49 +02:00
Jérôme Leclercq 8cdc36c948 Graphics/Material: Add parameter for vertex color 2018-06-15 14:15:23 +02:00
Jérôme Leclercq 41e2d3e448 Graphics/Material: Add EnableVertexColor temporary 2018-06-15 14:13:18 +02:00
Lynix a4aad3caac Merge branch 'master' into vulkan 2018-06-12 19:08:02 +02:00
Lynix d7a2e9aad1 Merge branch 'ubo' into vulkan 2018-06-12 19:07:58 +02:00
Jérôme Leclercq b2185f2138 Physics2D/RigidBody2D: Add ClosestPointQuery method 2018-06-12 15:11:16 +02:00
Jérôme Leclercq 56b23a2f27 Network/SocketPoller: Wait() now returns the number of active sockets, and optionally the last error
It will also ignore the EINTR error on Linux
2018-06-12 14:31:49 +02:00
Jérôme Leclercq 15f84dc712 Noexcept all the things! 2018-06-12 11:37:44 +02:00
Lynix 843e5545b6 Graphics/BasicRenderQueue: Fix billboards not registering their layer 2018-06-06 21:40:13 +02:00
Lynix e9f0bdeb25 Graphics/ForwardRenderTechnique: Optimize sprite rendering 2018-06-06 21:38:40 +02:00
Lynix e4eae425b2 Add support for Uniform Buffer to Utility/Renderer 2018-06-06 20:18:42 +02:00
Lynix bc2f6f67cc Graphics/InstancedRenderable: Add Clone method 2018-06-06 19:36:46 +02:00
Jérôme Leclercq 550176e198 Core/SerializationContext: Replaced currentBitPos and currentByte by [read|write][BitPos][Byte] to handle properly bit reading/writing 2018-05-31 16:10:58 +02:00
Jérôme Leclercq 33fb70b65b Network: Fix SocketPoller error handling 2018-05-31 16:08:46 +02:00
Lynix db0e3267da Graphics/AbstractViewer: Add ProjectDepth method 2018-05-29 23:55:51 +02:00
Lynix e46aa6772e Graphics/AbstractViewer: Fix Unproject code 2018-05-29 21:05:03 +02:00
Lynix af34567ae7 Graphics/AbstractViewer: Add Project/Unproject methods 2018-05-27 21:45:06 +02:00
Lynix b782fd8431 Graphics/Model: add ModelLibrary, ModelManager, ModelSaver 2018-05-27 14:15:29 +02:00
Lynix 3e82413604 Oops 2018-05-21 19:41:11 +02:00
Lynix f2c16f916a Lua/LuaState: Add error handling methods 2018-05-21 19:31:19 +02:00
Lynix 8b6311de63 Lua/LuaState: Add Load methods 2018-05-13 14:42:27 +02:00
Jérôme Leclercq 70e0787b93 Utility/OBJLoader: Add index buffer optimization back
Fixes incorrect removal from d94baf133b
2018-05-03 14:41:32 +02:00
Jérôme Leclercq 41857a69ca Utility/OBJLoader: Remove debug line... 2018-05-03 14:38:32 +02:00
Jérôme Leclercq d53c245c78 Graphics/Model: Fix model not invalidating their bounding volume when their mesh AABB got updated 2018-05-03 13:32:53 +02:00
Jérôme Leclercq d94baf133b Utility/Mesh: Refactor Mesh & Submeshes 2018-05-03 13:32:17 +02:00
Jérôme Leclercq 95f137816a Physics2D/PhysWorld2D: Add invStepCount argument to pre/post steps callbacks 2018-04-30 14:55:28 +02:00
HardCPP 232a371fa5 Add normalLength parameter to the DebugDrawer::DrawNormals (#163) 2018-04-30 14:49:44 +02:00
Lynix 43bb487801 Merge branch 'master' into vulkan 2018-04-26 22:48:49 +02:00
Lynix 8695e11436 Fix whitespace 2018-04-26 22:45:24 +02:00
Lynix 7244f1681c Utility: Fix MD5/MTL/OBJ file parsing 2018-04-21 00:29:53 +02:00
Lynix 52f80a68cb Renderer/OpenGL: Enable GL_TEXTURE_CUBE_MAP_SEAMLESS 2018-04-21 00:28:57 +02:00
Lynix 7f9eb3771f Core/Stream: Fix infinite loop 2018-04-18 20:20:23 +02:00
Lynix cb8f0417a7 Core/Stream: Fix ReadLine behavior towards empty lines 2018-04-18 20:14:56 +02:00
Lynix d68346ca17 Utility/SimpleTextDrawer: Fix line bounds 2018-04-15 02:42:12 +02:00
Lynix 9f95a6122b Graphics/MaterialPipeline: Disable depth sorting for Translucent2D pipeline 2018-04-15 02:35:51 +02:00
Lynix 347f8cc986 Utility/Font: Fix handling of whitespace glyphs 2018-04-15 02:34:21 +02:00
Lynix bf0b8e9c76 Graphics: Fix clear being parasited by scissor operations 2018-04-15 02:31:51 +02:00
Lynix 19f17fa059 Graphics: Add 2D & cubemap white textures 2018-04-13 00:00:36 +02:00
Jérôme Leclercq 2da086b7df New Render queues (#161)
* Add new render queues proof of concept + scissoring support (WIP)

* Graphics: Adapt basic sprites rendering to new render queue system

* Graphics: Fix layers when rendering sprites

* Graphics/RenderQueue: Fix sprite default overlay

* Graphics: Enable scissor test by default

* SDK/Widgets: Enable scissoring on widgets

* Graphics: Handle almost everything with the new renderqueues system

Todo:
- Billboard rendering
- Proper model rendering

* Graphics/RenderQueue: Billboard drawing now works (WIP)

At 1/4 of previous code performances due to individually process of billboards

* Add new render queues proof of concept + scissoring support (WIP)

* Graphics: Adapt basic sprites rendering to new render queue system

* Graphics: Fix layers when rendering sprites

* Graphics/RenderQueue: Fix sprite default overlay

* Graphics: Enable scissor test by default

* SDK/Widgets: Enable scissoring on widgets

* Graphics: Handle almost everything with the new renderqueues system

Todo:
- Billboard rendering
- Proper model rendering

* Graphics/RenderQueue: Billboard drawing now works (WIP)

At 1/4 of previous code performances due to individually process of billboards

* Graphics/RenderQueues: Add full support for billboards

* Graphics/RenderQueue: Cleanup and improve billboard rendering

* Graphics/RenderQueue: Fix model drawing

* Examples/Particles: Fix lighting on space station

* Graphics: Cleanup forward render queue/technique

* Fix compilation under Linux

* Graphics/ForwardRenderTechnique: Fix case when scissoring is enabled on material but disabled on element

* Add support for Deferred Shading

* SDK/Widgets: Fix widget rendering

* Graphics: Remove legacy code from render queues

* Graphics: Fix some objects sometimes not showing up due to broken scissor box

* Fix compilation error

* Sdk/GraphicsGraphics: Fix bounding volume

* SDK/World: Fix self-assignation

* Update changelog for render queues
2018-04-11 19:36:52 +02:00
Jérôme Leclercq dae2b6f5a6 Fix an oopsie 2018-04-10 16:22:18 +02:00
Jérôme Leclercq 938aa79ffc Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2018-04-10 16:13:00 +02:00
Jérôme Leclercq d6392c33ad Core/Directory: Fix GetResultSize and IsResultDirectory methods on Posix 2018-04-10 16:12:15 +02:00
Lynix 42a263ed6a Graphics/Billboard: Fix bounding volume 2018-04-09 20:33:40 +02:00
Lynix c9904e7d20 Audio/Sound: Fix copy constructor not copying looping state 2018-04-08 18:50:42 +02:00
Lynix 3c4c0fab66 Audio: Make Music, Sound, SoundEmitter movable 2018-04-08 17:51:25 +02:00
Lynix 05a5c4c42e Utility/OBJLoader: Add support for emissive/normal maps by using custom keywords 2018-04-04 21:30:59 +02:00
Lynix e8e3c29f37 Refactor IpAddressImpl.cpp (Windows) + update changelog 2018-04-02 16:30:39 +02:00
Lynix 63ee3ca8d4 Network/Socket: Fix IPv6 decoding on posix 2018-04-01 21:56:45 +02:00
Lynix c869967928 Network/Socket: Fix dual-stack support 2018-04-01 21:34:50 +02:00
Lynix a5400f07c9 Network/Socket: Fix IPv6 encoding 2018-04-01 21:30:07 +02:00
Lynix df510aeb78 Network/Socket: Fix broadcast & dual-stack on Posix 2018-04-01 21:01:13 +02:00
Lynix eeba7f96a0 Fix compilation 2018-04-01 20:52:52 +02:00
Lynix 715729fc02 Network: Add support for dual-stack sockets 2018-04-01 20:48:50 +02:00
Jérôme Leclercq edec42038c Fix compilation for MinGW 2018-03-27 15:07:34 +02:00
Lynix 0e3871b19e Physics3D/Collider3D: Fixed ConvexCollider3D::GetType() 2018-03-26 20:24:17 +02:00
Lynix 7f1419b34e Physics3D/PhysWorld3D: Remove const from argument in BodyIterator 2018-03-26 20:23:30 +02:00
Jérôme Leclercq 554fcd6492 Physics3D/Collider3D: Add ForEachPolygon method 2018-03-26 16:57:16 +02:00
Lynix 665512402c Fix some warnings 2018-03-20 21:58:46 +01:00
Lynix 69f079fcc8 Core/Serialization: Add type tag parameters 2018-03-20 20:56:06 +01:00
Lynix 96f3104347 Fix Basic uber-shader compilation on some drivers 2018-03-10 13:02:30 +01:00
Lynix f706ac0a50 ColorBackground: Fix shader error 2018-03-10 10:38:31 +01:00
Jérôme Leclercq cd31e6c397 Add buffer support 2018-03-09 16:49:01 +01:00
Jérôme Leclercq 9b8e8042e4 Merge fix 2018-03-09 16:47:31 +01:00
Lynix 3036c32d9d Core/Bitset: 2018-03-06 20:25:29 +01:00
Lynix af75e2cc68 Merge branch 'physics3d-material' 2018-02-17 12:50:46 +01:00
Faymoon cd526d6145 Remove some useless "Nz::" (#159)
* Remove useless "Nz::"

* Remove useless "Nz::"

* REmove useless "Nz::"

* Remove useless "Nz::"
2018-02-17 12:47:16 +01:00
Lynix 39c89c52f4 Platform/Window: Fix size event triggering key event on Windows 2018-02-15 21:08:38 +01:00
Jérôme Leclercq 7d54ac4c10 Merge branch 'master' into vulkan 2018-02-13 13:06:01 +01:00
Lynix 6e3bcac25d Physics3D/PhysWorld3D: Take BodyIterator by const reference 2018-02-12 21:26:14 +01:00
Lynix af12c5ed92 Merge branch 'master' into physics3d-material 2018-02-11 14:39:14 +01:00
Jérôme Leclercq 45af15d802 Physics[2|3]D/PhysWorld[2|3]D: Add max step count 2018-02-09 17:29:20 +01:00
Jérôme Leclercq bb7c97ed9a Add PhysWorld2D::UseSpatialHash 2018-02-09 17:25:11 +01:00
Jérôme Leclercq 17849226e4 Physics2D/PhysWorld2D: Add iteration count control 2018-02-09 17:24:00 +01:00
Jérôme Leclercq fb3eb9443e Core/Clock: Restart now returns the elapsed time in milliseconds 2018-02-07 15:02:44 +01:00
Lynix 1e88e23854 Merge branch 'master' into physics3d-material 2018-01-28 14:28:44 +01:00
Lynix 7c1ffea19c Core/Win32: Encapsulate internal struct 2018-01-28 14:28:33 +01:00
Lynix 3afdbd2141 Fix typo 2018-01-28 14:27:52 +01:00
Lynix a8c1a2f488 Network/Win32: Fix a parsing error when compiler doesn't support __has_include 2018-01-26 20:57:14 +01:00
Lynix ce2324ea2a Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2018-01-26 20:41:52 +01:00
Jérôme Leclercq 3f7bac186b Network/Win32: Second patch for MinGW #157
Extending Mstcpip.h fix using C++17 feature __has_include
2018-01-26 16:11:53 +01:00
Jérôme Leclercq b93320613e Network/Windows: MinGW compatibility fix 2018-01-26 15:41:01 +01:00
Lynix fd727be03f Utility/SimpleTextDrawer: Fix space screwing up bounding box 2018-01-24 20:56:38 +01:00
Lynix b47f5210e0 Physics3D/PhysWorld3D: Add ForEachBodyInAABB method 2018-01-20 19:36:21 +01:00
Lynix c592acfd5f Merge branch 'master' into physics3d-material 2018-01-20 14:21:01 +01:00
Lynix 5380b6a41b Lua/LuaInstance: Move library initializations to LoadLibraries 2018-01-20 14:20:46 +01:00
Jérôme Leclercq 58e6c8e36c Physics2D/RigidBody2D: Fix movement not moving registered and simulation enabled states 2018-01-18 10:32:48 +01:00
Lynix c1cebe1425 Merge branch 'master' into physics3d-material 2018-01-17 18:25:57 +01:00
Jérôme Leclercq 7a04c6f83b Physics2D/RigidBody2D: Add EnableSimulation/IsSimulationEnabled 2018-01-17 17:13:50 +01:00
Lynix 1c3654148d Merge branch 'master' into vulkan 2018-01-16 21:15:58 +01:00
germinolegrand 1e55c4d9e9 Prerequisites instead of Prerequesites (typo) #152 (#153) 2018-01-16 12:23:01 +01:00
Lynix 4cb598c32b Merge branch 'master' into physics3d-material 2018-01-14 14:40:57 +01:00
Faymoon 4f6bf30f24 Constraint 2D (#147)
* Rename all Constraint by [name]Constraint3D

* Create Refs and Libraries for Constraint2D

* Remove ref to PhysWorld in Constraints ctors

* Update Constraint2d ctor to have RigiBodies first

* Add New static function for all constraints and fix an oopsie

* Add Contraint Library and remove all library useless aliases

* Add ConstraintComponent2D

* remove useless definition of Constraint2D library

* Fix : getting the world of the constraint before having created it

* Make the GetStaticBody function return a ref

* Remove : Useless AddJoint Fonction and Update CreateJoint function

* Update PhysicsSystem3D because GetStaticBody return now a ref

* Oops

* Having done something with the 3D and i was needing 2D

* Add ConstraintComponent as friend of Collision and PhysicsComponent

* Update all the Get[Static/Rigid]Body function so they return a pointer

* fix the bugs caused by the commit before

* update : CreateConstraint lambda for the nullptr case

* remove the useless  use of const pointer

* Update : CreateConstraint function

* Update ChangeLog.md
2018-01-13 11:03:03 +01:00
Lynix 98eaf83ea9 Utility/OBJParser: Fix negative offset handling for good 2018-01-07 22:36:39 +01:00
Lynix ee77899a6a Utility: Add JPEG image saver 2018-01-07 03:19:55 +01:00
Lynix 8697cf33e6 Utility/OBJParser: Fix relative offsets loading 2018-01-06 02:46:51 +01:00
Lynix 18a4099958 Merge branch 'master' into physics3d-material 2018-01-05 20:49:46 +01:00
Jérôme Leclercq 2bef737dc6 Network/ENetPeer: Fix indent 2018-01-05 15:39:47 +01:00
Jérôme Leclercq 98a03cb543 Network/SocketPoller: Fix potential bug on Connect (Posix) 2018-01-05 15:39:35 +01:00
Lynix 84a3fc1a91 Physics3D/World: Add more control on materials 2017-12-17 19:08:45 +01:00
Lynix 9b431e54c9 Merge branch 'master' into physics3d-material 2017-12-16 21:21:44 +01:00
Lynix ec22b8d643 Lua/LuaInstance: Fix movement, for real 2017-12-16 21:21:35 +01:00
Lynix 36c1e4e8cb Merge branch 'master' into physics3d-material 2017-12-16 19:09:13 +01:00
Lynix f5df0eb056 Lua/LuaInstance: Fix movement 2017-12-16 19:09:01 +01:00
Lynix d1060047f8 Merge branch 'master' into physics3d-material 2017-12-14 19:50:14 +01:00
Lynix fd8306f17f Core/String: Replace implicit operator std::string by ToStd::String 2017-12-14 19:50:06 +01:00
Lynix e302667c21 Merge branch 'master' into physics3d-material 2017-12-14 18:15:35 +01:00
Lynix 5aab9b248d Sdk/PhysicsComponent3D: Fix cloning by preserving physics states 2017-12-13 22:17:50 +01:00
Jérôme Leclercq 9272efa159 Core/Thread: Fix possible infinite recursion 2017-12-13 17:42:45 +01:00
Jérôme Leclercq 192321b448 Network: Fix uninitialized values (found by valgrind) 2017-12-13 12:55:03 +01:00
Lynix afa874de26 WIP on materials 2017-12-10 22:17:41 +01:00
Lynix 33b3b2feaf Physics3D/RigidBody3D: Add simulation property 2017-12-10 13:35:58 +01:00
Lynix b8e447e4fe Physics3D/RigidBody3D: Fix copy constructor not copying all states 2017-12-10 12:10:47 +01:00
Lynix 0df70dcb16 Physics3D/RigidBody3D: Rename [Get|Set]Velocity to [Get|Set]LinearVelocity 2017-12-10 12:09:36 +01:00
Lynix 24278dafdc Core/MemoryStream: Fix assertion trigger when writing zero-sized block 2017-12-09 20:34:07 +01:00
Jérôme Leclercq 503378ed47 Try some black magic 2017-12-04 16:22:01 +01:00
Lynix 0a72ddb478 Graphics/SkyboxBackground: Fix distorsion on skybox 2017-12-01 10:20:00 +01:00
Lynix 6d09abbc2c Physics3D/RigidBody3D: Add [Get|Set][Angular|Linear]Damping 2017-11-30 12:04:33 +01:00
Jérôme Leclercq a9fc553bd5 Core/Directory: Try to fix default directory permission 2017-11-29 16:09:46 +01:00
Jérôme Leclercq 45576f5691 Core/Directory: Fix recursive Create method on Posix 2017-11-29 16:01:07 +01:00
Jérôme Leclercq ae29fe12cb Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2017-11-29 15:13:07 +01:00
Jérôme Leclercq ffa6d5c4cc Core/File: Fix error handling when opening file on posix 2017-11-29 15:12:17 +01:00
Lynix 72bcb1fda7 Physics2D/RigidBody2D: Fix SetGeom attribute copy 2017-11-28 23:20:45 +01:00
Lynix 4c6b5d0546 Merge branch 'master' into vulkan 2017-11-24 20:14:39 +01:00
REMqb 4d195e0e08 ~ Fix widgets / events not working after the window defocused then focused again (#144) 2017-11-23 00:01:55 +01:00
Jérôme Leclercq 1b80ad5f02 Platform/Window: Revert wrong mouse position fix 2017-11-22 10:26:58 +01:00
REMqb ecadcabfa9 ~ Fix position of the mouse was set after the event callbacks were run. (#143) 2017-11-22 00:35:32 +01:00
Jérôme Leclercq f84ac9c52b Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2017-11-21 12:26:45 +01:00
Jérôme Leclercq 3589a2bc8e Core/Flags: Reworked Flags class 2017-11-21 12:26:22 +01:00
Gawaboumga f991a9529e General bug fixes (#142)
* Core/Bitset: Fix TestAll method

* Fix documentation

* Fix color and their conversions

* Core/ByteStream: Fix return of Write

* Fix compiler warnings

* Math/Algorithm: Fix angle normalization

* Math/BoundingVolume: Fix lerp

* Math: Fix relation between Matrix4 and Quaternion

* More tests

* X11/Window: Fix mouse moved event generated when doing Mouse::SetPosition

* Update ChangeLog

* Should fix compilation on Windows

* Should fix compilation on Windows

Forgot to include array for Windows
2017-11-21 12:16:46 +01:00
Lynix f2506ee918 Network/ENetHost: Fix service time precision 2017-11-20 21:04:50 +01:00
Jérôme Leclercq e627be3f72 Utility/Buffer: Fix Destroy() not really destroying buffer 2017-11-08 14:35:11 +01:00
Lynix 786a11fc78 Graphics/Material: Fix missing reflection initialization 2017-10-31 00:14:50 +01:00
Lynix d688cecbde Renderer: Replaced RenderTarget::Get[Height|Width] by RenderTarget::GetSize
Utility: Removed Window::Get[Height|Width] methods
2017-10-28 23:26:22 +02:00
Lynix bf8ebbd046 Platform/WindowImpl: Fix threaded windows deadlock when using some methods 2017-10-28 00:52:26 +02:00
Lynix e7eaea37d7 Reencode resources 2017-10-26 23:38:33 +02:00
Lynix 9daadb73bc Utility: Make mesh loader use the parameters vertex declaration 2017-10-21 04:51:05 +02:00
Lynix 995dfddafa Utility/MeshParam: Use constref instead of pointer 2017-10-19 21:05:48 +02:00
Lynix 0e45876b89 Fix compilation with MinGW 2017-10-18 22:02:36 +02:00
Lynix b47b89ed8b Utility/Mesh: Add index and vertex buffer flags in MeshParams 2017-10-18 00:29:34 +02:00
Jérôme Leclercq b3f3d16f13 Physics2D: Fix DebugDraw of polygons 2017-10-16 11:57:23 +02:00
Jérôme Leclercq 6e7b78611d Physics2D/RigidBody2D: Add SetStatic method 2017-10-16 11:56:41 +02:00
Lynix ee06fffd03 Fix StringStream tests 2017-10-15 14:54:28 +02:00
Lynix 9911c6e07c Core: Optimize StringStream 2017-10-15 12:25:08 +02:00
Lynix a9307d5e7b Fix compilation 2017-10-14 19:22:27 +02:00
Lynix 46cf06f446 Fix previous commit oopsies 2017-10-14 18:27:37 +02:00
Lynix 683b09144d Core: Replace StackAllocation by StackArray
This will cleanup alloca usage a little bit
2017-10-14 18:04:16 +02:00
Jérôme Leclercq 101783126c Physics2D: Add DebugDraw method 2017-10-13 15:14:37 +02:00
Lynix fce0db09e8 Add support for reflection in PhongLighting shader 2017-10-11 00:07:57 +02:00
Lynix 85aa01a562 Physics2D: Add constraint support 2017-10-10 21:52:35 +02:00
Jérôme Leclercq 46e684c275 Network/ENetHost: Fix compression callbacks 2017-10-10 21:52:32 +02:00
Jérôme Leclercq 3282534bba SocketPoller: Fix behavior on Windows and BSD 2017-10-10 21:52:31 +02:00
Jérôme Leclercq 874599fefd Network/SocketPoller: Uniformize behavior accross platforms
On Windows, a closed connection will mark as ready for read/write
2017-10-10 21:52:30 +02:00
Lynix c763dea4e1 Merge branch 'master' into reflection-mapping 2017-10-02 21:11:15 +02:00
Jérôme Leclercq 99d21b8722 Fix compilation and some warnings 2017-10-02 16:18:15 +02:00
larnin 40a678889d Vertex declaration changes (#135)
* Add type to ComponentType conversion

* Change type to ComponentType conversion

* Change assert to condition, add check on particle mapper.

* Change particle life type

* Changes as requested

* Fix Travis try 1

* Changes as requested

* move IsSuitableForComponent to inl
2017-10-02 15:21:03 +02:00
Gawaboumga bbac0838dd Include-What-You-Use (#137)
* IWYU Core

* IWYU Noise

* IWYU Utility

* IWYU Audio

* IWYU Platform

* IWYU Lua

* IWYU Network

* IWYU Physics2D

* IWYU Physics3D

* IWYU Renderer

* IWYU Graphics

* IWYU NDKServer

* IWYU Fix

* Try to fix compilation

* Other fixes
2017-10-01 11:17:09 +02:00
Lynix 508554fcb1 Fix some more warnings 2017-09-30 15:00:42 +02:00
S6066 4f0435754f Fixed Nz::String's implementation of std::geltine (#136)
* Fix Nz::String's std::getline

* Bugfix

* Bugfix again
2017-09-30 14:23:42 +02:00
Lynix 2cd9fa2b7a Core: Add MovablePtr class 2017-09-30 13:57:25 +02:00
Jérôme Leclercq cc4fdf2476 Network/ENet: Add compressor support 2017-09-22 15:22:43 +02:00
Jérôme Leclercq 74b5cada88 Utility/SimpleTextDrawer: Fix bounds computation 2017-09-21 14:40:22 +02:00
Lynix 9a6b007e70 Network/ENetHost: Fix crash 2017-09-16 10:47:00 +02:00
Lynix c4edf54297 Vulkan/RenderBuffer: WIP 2017-09-16 10:36:41 +02:00
Lynix 8a55888ada VulkanRenderer: Fix transfer queue choice 2017-09-16 10:35:30 +02:00
Jérôme Leclercq c211abd977 Network/ENetHost: Fix typo 2017-09-14 14:12:32 +02:00
Jérôme Leclercq f2870b83c0 Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2017-09-08 09:41:10 +02:00
Jérôme Leclercq b4d0854028 Physics2D/PhysWorld2D: Add damping control 2017-09-08 09:41:08 +02:00
Lynix 53020f27a5 Physics2D/RigidBody2D: Fix mass incorrectly reported at 0 after copy 2017-09-07 18:38:31 +02:00
Jérôme Leclercq 3153af485c Physics2D: Handle kinematic objects properly 2017-09-07 16:16:11 +02:00
Jérôme Leclercq 305a72a7d2 Lua/LuaState: Fix movement not stealing pointer 2017-09-04 10:05:23 +02:00
Jérôme Leclercq 5915b6ce3a Network/ENetHost: Fix error when using ENetHost without listening 2017-09-01 15:24:42 +02:00
Jérôme Leclercq e37a7ad5fd Network/ENetHost: Dismiss external peer connection if listen address is loopback 2017-09-01 15:22:27 +02:00
Jérôme Leclercq 7074876d68 Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2017-09-01 14:26:30 +02:00
Jérôme Leclercq 38bd348ed6 Physics2D/RigidBody2D: Allows better control on inertia 2017-09-01 14:26:28 +02:00
Jérôme Leclercq c087003bda Physics2D/RigidBody2D: Use kinematic object instead of static ones when mass is set to zero 2017-09-01 13:34:04 +02:00
Lynix a1ddce8dfb Utility/SimpleTextDrawer: Fix drawer regenerating glyphs everytime 2017-09-01 08:59:27 +02:00
Lynix 01e928e324 Renderer/Renderer: Default to current GLSL version for AST generation 2017-08-30 18:21:45 +02:00
Lynix cb69b1ed01 Renderer/ShaderAst: Add ConditionalStatement 2017-08-30 18:21:44 +02:00
Lynix 205b8b1ba6 Renderer/ShaderAst: Add Swizzle 2017-08-30 18:21:43 +02:00
Lynix 832237c6d4 Renderer/ShaderAst: Fix a few multiply/divide cases 2017-08-30 18:21:42 +02:00
Lynix 8a68df4c56 Forgot to save all files.. 2017-08-30 18:21:41 +02:00
Lynix f0a7430d34 Renderer/ShaderAst: Fix compilation errors on Linux 2017-08-30 18:21:40 +02:00
Lynix bd8a3ba47d Renderer: Replace shaders files by runtime-generated GLSL 2017-08-30 18:21:40 +02:00
Lynix 8fd152aec0 Renderer/ShaderAst: Rename Builtin enum to BuiltinEntry 2017-08-30 18:21:39 +02:00
Lynix 4a67f56e80 Renderer/GlslWriter: Fix exception 2017-08-30 18:21:38 +02:00
Lynix a5a228e0c7 Renderer/ShaderAst: Add Constant overloads 2017-08-30 18:21:36 +02:00
Lynix 2a57af9896 Renderer/ShaderAst: Add Cast node 2017-08-30 18:21:34 +02:00
Lynix a84391cf08 Renderer/ShaderAst: Add support for expression type 2017-08-30 18:21:33 +02:00
Lynix 9e8785cf01 Renderer/GlslWriter: Fix comment sections being "Uniforms" no matter the section value 2017-08-30 18:21:32 +02:00
Lynix 3ed661f387 Renderer/ShaderAst: Add input and outputs variables 2017-08-30 18:21:32 +02:00
Lynix e82fb7fef4 Renderer/ShaderAst: Add NamedVariable and BuiltinVariable classes 2017-08-30 18:21:30 +02:00
Lynix 43e23fea47 Renderer/GlslWriter: Add comment sections 2017-08-30 18:21:29 +02:00
Lynix 114c4dbf58 Renderer/GlslWriter: Fix typo 2017-08-30 18:21:28 +02:00
Lynix f487761940 Renderer/GlslWriter: Add #version directive 2017-08-30 18:21:28 +02:00
Lynix d538a7ddf5 Renderer/GlslWriter: Add support for Uniform and Parameters variables 2017-08-30 18:21:27 +02:00
Lynix 5c3e67bb26 Renderer/GlslWriter: Move variables to the function scope 2017-08-30 18:21:26 +02:00
Lynix 5c6df52fbf Commit current work 2017-08-30 18:21:25 +02:00
Lynix c48d752ad4 Utility/MeshLoader: Fix pre-transformation matrix not affecting normal and tangents in some cases (Fix #131) 2017-08-30 15:58:19 +02:00
Gawaboumga 5aa072cee3 New module: Platform - Split window management from Utility module (#128)
* New module: Platform - Split window management from Utility module

Final touch

* NDK/SDK: Bring back initialization of Utility
2017-08-30 10:22:50 +02:00
Gawaboumga 41a1b5d493 Physics2D tests (#129)
* Quaternion: Fix singularity on Z axis when converting to euler angles

* CollisionComponent2D: Add method to retrieve AABB

* Collider2D: Fix constructor for Box with Vector2

* Physics2D: Fix rotation (Chipmunk works with radian and Nazara degrees) and copy constructor of RigidBody2D

* Colider2D: Add New for convex and tests for the new classes
2017-08-20 21:47:23 +02:00
Lynix 596d65f1ed Merge branch 'master' into vulkan 2017-08-20 21:35:51 +02:00
Lynix 9613ad5de6 Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2017-08-16 20:33:40 +02:00
Lynix b7692400c4 HardwareBuffer: Fix wtf behavior 2017-08-16 20:33:23 +02:00
Jérôme Leclercq 5531e81e65 Core: Add CRC64 and regenerate global headers 2017-08-15 12:32:19 +02:00
Lynix 84e5ea0023 SimpleTextDrawer: Fix Faux-Bold 2017-08-13 21:40:41 +02:00
Lynix e512302305 RigidBody2D: Add experimental SetMomentOfInertia method 2017-08-06 23:46:55 +02:00
Lynix 506a963539 SimpleTextDrawer: Assert after update 2017-08-06 23:37:14 +02:00
Lynix cd661144a0 Vulkan: Fix some errors 2017-08-06 12:14:22 +02:00
Lynix 4a156ab3d7 Vulkan: Add better handling for errors 2017-08-06 12:14:11 +02:00
Lynix 5b922cf52f Vulkan: Add buffer placeholder 2017-08-06 12:13:08 +02:00
Jérôme Leclercq 3d368b2fe7 Network/SocketPoller: Fix behavior of Wait method (-1 will block) 2017-08-04 13:37:17 +02:00
Jérôme Leclercq b64ab862fe Fix warnings 2017-07-27 14:39:48 +02:00
Jérôme Leclercq 6047018082 Physics3D/Collider3D: Improve CompoundCollider3D constructor 2017-07-27 11:40:42 +02:00
Jérôme Leclercq afdc018778 Physics2D/Collider2D: Implement CompoundCollider2D and ConvexCollider2D 2017-07-27 11:39:23 +02:00
Jérôme Leclercq b00487c88c PhysicsID/RigidBody: Add GetWorld() accessor 2017-07-25 14:44:30 +02:00
Jérôme Leclercq 28e8377708 Physics2D: Fix shape BB 2017-07-12 16:23:14 +02:00
Jérôme Leclercq aac8d8301b Network: Fix Linux build 2017-07-11 12:19:11 +02:00
Jérôme Leclercq 0931ee39e0 Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2017-07-11 12:12:44 +02:00
Jérôme Leclercq 394f0bc730 Network/ENetHost: Fix hostname resolve 2017-07-11 12:12:38 +02:00
Jérôme Leclercq cbcfa5cb4d Network/ENet: Fix throttle bug 2017-07-11 12:12:12 +02:00
Jérôme Leclercq 9fb9289d6e Network/Socket: Fix IPv6 handling 2017-07-11 12:11:43 +02:00
Jérôme Leclercq b4732d8c17 Add Udp::ReceiveMultiple method 2017-07-11 12:11:20 +02:00
Lynix 29cad19253 Fix some compilation errors 2017-07-04 23:57:43 +02:00
Lynix 8cdd922177 VulkanRenderer: Handle new errors cases 2017-07-04 23:41:08 +02:00
Lynix 2323060f30 Remove unused code 2017-07-04 23:24:23 +02:00
Lynix 9944a228b5 Merge branch 'master' into vulkan 2017-07-04 22:41:29 +02:00
Lynix 67dbb9e7c8 Lua/LuaState: Fix Execute not being able to return values 2017-06-28 23:22:50 +02:00
Jérôme Leclercq 2ca844be63 Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2017-06-21 18:10:51 +02:00
Jérôme Leclercq b2e23cfb56 Mark every bool conversion as explicit 2017-06-21 18:10:46 +02:00
Lynix bb512ff17a Network/SocketPoller: Fix IsReadyTo* on Windows Vista+ 2017-06-20 20:50:39 +02:00
Lynix 175a98c4fc Fix compilation 2017-06-20 08:28:57 +02:00
Lynix 50a3f78f91 Core/Thread: Add posibility of setting thread name 2017-06-20 08:16:08 +02:00
Lynix e0ede5bf2d Physics2D/RigidBody2D: Little refactor 2017-06-20 06:59:53 +02:00
Lynix dc28a9161b Network/TcpClient: Fix Send hanging when used in non-blocking mode 2017-06-20 06:57:59 +02:00
Lynix 5fe782bd46 Core/FileImpl: Remove implicit region locking (Windows) 2017-06-20 06:57:58 +02:00
Gawaboumga 47a22c2785 Fix wrong aabb returned from PhysicsComponent2D (#127) 2017-06-20 06:53:39 +02:00
Jérôme Leclercq 6ff510ad4a Merge pull request #126 from Gawaboumga/Concurrent-File-Writing
Fix the possibility to have two processes writing to the same file on Linux
2017-06-20 06:53:21 +02:00
Gawaboumga e95d252cde Add lock file on Linux and the possibility to have two processes writing to the same one 2017-06-15 18:03:19 +02:00
Jérôme Leclercq 6759abc878 Core/Thread: Rework ThreadImpl:Sleep for POSIX systems (fix yield behavior) 2017-06-14 10:11:02 +02:00
Lynix 487bd64bcf Merge remote-tracking branch 'refs/remotes/origin/master' into reflection-mapping 2017-06-10 22:33:03 +02:00
Lynix a82de92377 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-06-10 22:29:31 +02:00
Lynix 78182502e3 Lua/LuaInstance: Fix missing memory/time methods 2017-06-10 22:29:17 +02:00
Jérôme Leclercq ab1eccde82 Fix compilation 2017-06-09 02:07:51 +02:00
Jérôme Leclercq 35ba78510b Fix compilation 2017-06-09 02:06:14 +02:00
Lynix cea89abc51 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-06-09 01:47:33 +02:00
Jérôme Leclercq 01edc4fb21 Add coroutine support (WIP) 2017-06-08 15:53:17 +02:00
Jérôme Leclercq a8129b218b Refactor LuaInstance to prepare coroutine handling 2017-06-07 21:18:07 +02:00
Lynix e32c1a8b8b Utility/PixelFormat: Move Flip to .cpp
Because of std::swap_range usage (Thanks Microsoft)
2017-06-04 17:28:58 +02:00
Jérôme Leclercq 17d9cd6e7d Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-06-01 17:25:33 +02:00
Jérôme Leclercq 8752d1e0f4 Network: Add ErrorToString for ResolveError/SocketError 2017-06-01 17:25:21 +02:00
Jérôme Leclercq 7cc1b2d47b Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-05-29 20:00:51 +02:00
Jérôme Leclercq 308f6d7448 #Oops 2017-05-29 20:00:39 +02:00
Jérôme Leclercq 421dbf54f2 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-05-29 19:55:50 +02:00
Jérôme Leclercq bc4a533b96 Core/ParameterList: Use double and long long instead of float and int 2017-05-29 19:55:02 +02:00
Jérôme Leclercq 7cce74afb7 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-05-29 18:01:44 +02:00
Jérôme Leclercq 30a4e20ee5 Lua/LuaInstance: Expose some raw functions 2017-05-29 18:01:31 +02:00
Lynix 53f865c42c Merge branch 'enet_wip_nothing_to_see_here' of https://github.com/DigitalPulseSoftware/NazaraEngine into enet_wip_nothing_to_see_here 2017-05-19 16:31:31 +02:00
Lynix 3ca179b954 Network/ENet: Separate Connect event into OutgoingConnect and IncomingConnect 2017-05-19 16:31:29 +02:00
Jérôme Leclercq 3b7881ebfe Network/SocketPollerImpl: Fix possible weird behavior with SocketPoller 2017-05-17 11:30:18 +02:00
Jérôme Leclercq ba24181fd6 Network/SocketPollerImpl: Fix possible weird behavior with SocketPoller 2017-05-17 11:29:55 +02:00
Jérôme Leclercq e4a9d73942 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-05-16 10:09:20 +02:00
Jérôme Leclercq 1cdac50af2 Network/SocketPoller: Fix RegisterSocket on Windows 2017-05-16 10:09:09 +02:00
Lynix d516b0907b Network/ENetHost: Fix usage of SocketPoller 2017-05-16 09:11:02 +02:00
Lynix 9a30a7ee04 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-05-16 09:08:37 +02:00
Lynix 65d3b59e03 Network/SocketPoller: Makes it possible to watch read and write states 2017-05-16 09:07:28 +02:00
Lynix 75d57b3c29 Merge remote-tracking branch 'refs/remotes/origin/master' into reflection-mapping 2017-05-11 20:52:04 +02:00
Lynix af41b240ad Graphics: Add support for depth-sorted sprites 2017-04-23 13:40:13 +02:00
Lynix 3e9ae9856a Forgot to save files.. 2017-04-22 17:14:56 +02:00
Lynix b5191d142a Fix warning 2017-04-22 17:13:56 +02:00
Lynix 52a4a590e1 Graphics/Material: Fix depth sorting flag handling for meshes 2017-04-22 17:13:51 +02:00
Lynix f6fe589b03 Fix #120 2017-04-22 15:33:59 +02:00
Lynix 06038a4d81 Cleanup pass 2017-04-22 15:08:05 +02:00
Lynix 1305e8434a Merge remote-tracking branch 'refs/remotes/origin/master' into reflection-mapping 2017-04-17 23:42:21 +02:00
Jérôme Leclercq 660cddba34 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-04-05 10:11:01 +02:00
Lynix bb272c57f5 Lua/LuaInstance: Fix movement 2017-03-30 18:43:05 +02:00
Lynix 5ec913311f Physics2D/PhysWorld2D: Add RegionQuery method 2017-03-30 16:32:29 +02:00
Lynix 62fd66a159 Merge remote-tracking branch 'refs/remotes/origin/master' into reflection-mapping 2017-03-18 17:23:12 +01:00
Lynix a32db65865 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-03-09 18:21:19 +01:00
Lynix ef474fc3a4 Physics2D/PhysWorld2D: Fix compilation 2017-03-09 18:21:07 +01:00
Lynix 2cf1d5ddfc Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-03-09 18:20:30 +01:00
Lynix cdf7c11ef8 Fix crash when RigidBody2D is moved while having poststeps 2017-03-09 18:20:18 +01:00
Lynix a4fe005e3b Network/ENetPeer: Fix packets not being resend after timeout sometimes 2017-03-08 22:40:15 +01:00
Lynix 1917a0e8dd Network/ENetPeer: Fix fragments handling 2017-03-08 21:06:09 +01:00
Lynix b2e4296cc7 Network/ENetHost: Fix peers default values not being initialized 2017-03-08 21:05:56 +01:00
Jérôme Leclercq 0393eb408b Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-03-08 13:25:28 +01:00
Jérôme Leclercq b0d61802b6 Network/SocketPoller: Fix documentation 2017-03-08 13:17:04 +01:00
Jérôme Leclercq 43f8f21df6 Physics2D/RigidBody2D: Fix SetMass occasionnal crash 2017-03-08 13:16:53 +01:00
Jérôme Leclercq 247186fe55 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-03-07 09:36:47 +01:00
Jérôme Leclercq 78d6a69bcb Physics2D/PhysWorld2D: Fix SetMass calls during callbacks 2017-03-07 09:36:29 +01:00
Jérôme Leclercq 4259ad8c9d Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-03-06 14:02:46 +01:00
Jérôme Leclercq ede6dd90b8 Physics2D/PhysWorld: Add Raycast queries 2017-03-06 14:02:35 +01:00
Lynix f2fb0f62c2 Switch ENet errors to Nazara 2017-03-02 16:18:34 +01:00
Lynix ad8857354f Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-03-02 13:07:14 +01:00
Lynix 04f7b40150 Physics2D/RigidBody2D: Fix querying 2017-03-02 13:07:02 +01:00
Lynix 8eb58de486 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-03-02 11:23:23 +01:00
Lynix a50a822fad Physics2D/PhysWorld2D: Fix NearestBodyQuery 2017-03-02 11:22:59 +01:00
Lynix 55ef28c1af Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-03-02 10:34:16 +01:00
Lynix 834f65c0ae Physics2D/PhysWorld2D: Add optimized NearestBodyQuery 2017-03-02 10:34:02 +01:00
Lynix 392a23f4f5 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-03-02 09:55:21 +01:00
Jérôme Leclercq 5ebf125474 Physics2D: Add NearestBodyQuery 2017-03-01 17:40:12 +01:00
Jérôme Leclercq 658faf3d49 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-02-27 16:30:37 +01:00
Jérôme Leclercq f22dd81d35 Physics2D/RigidBody2D: Add AddImpulse method 2017-02-27 16:30:18 +01:00
Lynix 14022ccee2 Network/ENetPeer: Fix crash 2017-02-24 10:15:13 +01:00
Lynix 745a9d12b0 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-02-23 09:29:11 +01:00
Lynix 496cdfd32c Merge branch 'master' into reflection-mapping 2017-02-23 00:08:57 +01:00
EloD10 8d402f0491 Update ContextParameters.cpp (#119)
* Update ContextParameters.cpp

Changing an incorrect comment

* Update ContextParameters.cpp
2017-02-23 00:07:51 +01:00
Jérôme Leclercq 7c22ee637e Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-02-22 16:53:01 +01:00
Jérôme Leclercq b1e4aea496 Physics2D/RigidBody2D: Add signal for movement/release 2017-02-22 16:52:34 +01:00
Jérôme Leclercq ea135156b8 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-02-22 15:32:28 +01:00
Jérôme Leclercq 45262145aa Physics2D/RigidBody2D: Add Userdata field 2017-02-22 15:31:51 +01:00
Jérôme Leclercq d77f483871 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-02-22 13:00:22 +01:00
Jérôme Leclercq 096ea72fb6 Physics2D/PhysWorld2D: Fix crash with physics callbacks 2017-02-22 13:00:05 +01:00
Jérôme Leclercq a53a916399 Network/ENetHost: Fix simulation being always active 2017-02-21 16:55:05 +01:00
Jérôme Leclercq 7322969b17 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-02-21 15:58:44 +01:00
Jérôme Leclercq 7b47a6ad2e Physics2D: Add support for trigger and callbacks 2017-02-21 15:58:31 +01:00
Jérôme Leclercq c1cbc8c617 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-02-21 09:52:51 +01:00
Lynix b0d0a63fca Network/ENet: Add peer-side lag simulation 2017-02-20 23:37:31 +01:00
Gawaboumga c2e4ccaf72 Various little fixes (#118)
* Add missing override qualifier

* Mostly shadowing, virtual destructor and other little things
2017-02-19 23:15:13 +01:00
Lynix ead54e1c30 Merge branch 'master' into reflection-mapping 2017-02-18 15:07:17 +01:00
Jérôme Leclercq cc57fed42e Network/ENetPeer: Fix crash 2017-02-17 17:30:27 +01:00
Lynix 902949549c Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-02-17 00:39:19 +01:00
Lynix ee9712fdcd Some more warning fixes 2017-02-17 00:38:44 +01:00
Lynix a4100d5b4e Utility/X11: Fix crash at startup 2017-02-17 00:21:40 +01:00
Lynix dc158d06a8 Fix warnings reported by Clang 2017-02-17 00:21:28 +01:00
Lynix 490f6becb2 Fix compilation...
That parenthesis probably didn't make it to GitHub, damn you packet
losses!
2017-02-16 23:37:28 +01:00
Lynix 20dfd61ad7 Merge branch 'enet_wip_nothing_to_see_here' of https://github.com/DigitalPulseSoftware/NazaraEngine into enet_wip_nothing_to_see_here 2017-02-16 23:26:33 +01:00
Lynix e0dca1b043 Network/ENetPeer: Optimize CheckTimeouts function 2017-02-16 23:26:28 +01:00
Lynix b7ee6d7b29 Network/ENet: Move all packet allocation to host 2017-02-16 23:26:00 +01:00
Jérôme Leclercq 7b49b3dd0e Network/ENetPeer: Fix crash when handling fragment packets 2017-02-16 16:14:40 +01:00
Lynix 8225ad3b41 Network/ENetHost: Optimize acknowledgements handling 2017-02-15 08:27:15 +01:00
Lynix 890b06bfcb Network/ENet: Refactor 2017-02-15 08:26:56 +01:00
Lynix df5d22eb30 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-02-12 02:21:02 +01:00
Lynix 1904ce1576 Network/ENetPeer: Fix fragmented packet handling 2017-02-12 02:21:00 +01:00
Lynix 212f3eddf0 Network/UdpSocket: Fix documentation [skip ci] 2017-02-12 02:10:37 +01:00
Lynix 6d5d1ac1cb Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-02-10 15:22:33 +01:00
Lynix ab6e9d3b86 Core/String: Fix FormatVA bug 2017-02-10 15:20:43 +01:00
Jérôme Leclercq 41d06fed38 Network/ENetHost: Fix packet leak when broadcasting with no peer connected 2017-02-01 17:52:01 +01:00
Lynix 7b8100dafe Network/ENet: Add ENet licence 2017-02-01 00:20:22 +01:00
Lynix a087174bf8 Network/Algorithm: Add HostToNet and NetToHost 2017-02-01 00:13:08 +01:00
Lynix 85257da07e Network/ENet: Fix some warnings 2017-01-31 23:05:18 +01:00
Lynix 6b8d9deb43 Network/ENet: Clean up time functions 2017-01-31 23:04:53 +01:00
Lynix 2f057191aa Network/ENetHost: Add GetServiceTime() 2017-01-31 22:19:17 +01:00
Jérôme Leclercq 4f1df53f07 Network/ENetPeer: Fix DisconnectLater not waiting for pending commands 2017-01-31 15:31:11 +01:00
Jérôme Leclercq b5797dfa12 Network/ENetHost: Move handling to ENetPeer 2017-01-30 18:08:21 +01:00
Lynix 4e517bc1e3 Network/ENetHost: Add network simulator 2017-01-28 17:18:06 +01:00
Lynix 4e2a037d6b Network/ENetPeer: Add total packet lost/sent counter 2017-01-28 17:17:42 +01:00
Lynix 34828929b2 Network/ENetHost: Fix a bug 2017-01-28 17:16:14 +01:00
Lynix 5207f2c821 Network/ENet: Fix some remaining bugs.... 2017-01-28 17:15:33 +01:00
Lynix 9d9d7472ca Network/ENetPacket: Fix a huge bug with packets 2017-01-28 14:09:43 +01:00
Lynix 6ab6ec4f14 Network/ENetPeer: Improved stability of connections
http://lists.cubik.org/pipermail/enet-discuss/2014-May/002308.html
2017-01-28 12:14:41 +01:00
Lynix c9d5f2f1ac Network/ENet: More cleanup 2017-01-28 12:08:35 +01:00
Lynix 8fc734674d Network/ENet: Fix fragments and cleanup 2017-01-28 11:06:09 +01:00
Lynix 664e3a33ec Network/ENet: Fix compilation and warnings 2017-01-27 17:19:49 +01:00
Lynix 9a1ac8a2c7 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-01-27 16:49:25 +01:00
Lynix 42d5f849f7 Network/SocketImpl: Okay, I promise to try to compile myself next time 2017-01-27 16:49:09 +01:00
Lynix 80442924c1 Network/SocketImpl: Fix code, once more 2017-01-27 16:43:54 +01:00
Lynix 7602b4a041 Network/SocketImpl: Fix typo 2017-01-27 16:37:16 +01:00
Lynix 31ebe5983e Network: Fix typo.. 2017-01-27 16:31:41 +01:00
Lynix 0075c22e0c Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-01-27 16:26:02 +01:00
Lynix 90237186b5 Network/SocketImpl: Fix missing include 2017-01-27 16:25:48 +01:00
Lynix 86ae60b6c2 Network: Fix compilation 2017-01-27 16:07:41 +01:00
Lynix f59b59da27 Merge remote-tracking branch 'refs/remotes/origin/master' into enet_wip_nothing_to_see_here 2017-01-27 15:09:01 +01:00
Lynix 3489421064 Network/UdpSocket: Fix UdpSocket::Receive failing when peers suddenly closes its socket 2017-01-27 15:08:26 +01:00
Lynix d8b7ff9fa6 Network/SocketImpl: Fix possible code errors (Posix) 2017-01-27 15:05:26 +01:00
Lynix 453ca77c1b Network/SocketImpl: Fix Send causing a SocketError_Internal status on non-blocking sockets 2017-01-27 15:05:04 +01:00
Lynix 002d33f590 Network/SocketImpl: Fix compilation 2017-01-27 14:55:37 +01:00
Lynix ab3b730d21 Network/TcpClient|UdpSocket: Add SendMultiple method
To efficiently merge multiples buffers into a reduced number of network
packets
2017-01-27 14:51:01 +01:00
Lynix 8a59dc88b8 Commit progression 2017-01-27 14:48:31 +01:00
Lynix 12b4073033 Progress 2017-01-26 09:28:41 +01:00
Jérôme Leclercq 9e3341a32a Commit current work
This is a temporary branch because I'm missing a USB drive, huehue
2017-01-25 15:55:07 +01:00
Jérôme Leclercq 311e2a545d Network/SocketPoller: Fix cases where EAGAIN is not the same as EWOULDBLOCK (Posix) 2017-01-25 15:54:13 +01:00
Jérôme Leclercq 071147bf51 Network/AbstractSocket: Prevent querying/setting receive/send buffer size without opening the socket first 2017-01-23 11:58:05 +01:00
Lynix 7d5d21f025 Merge remote-tracking branch 'refs/remotes/origin/master' into reflection-mapping 2017-01-21 15:56:37 +01:00
DrLynix 85f0208690 Newtork/AbstractSocket: Allow to specify receive and send buffer size per socket 2017-01-20 14:33:05 +01:00
DrLynix f383eca19a Update copyright year 2017-01-20 12:58:35 +01:00
DrLynix 15de1214cb Utility: Fixes compilation 2017-01-20 10:04:43 +01:00
Lynix e4b6f8e126 Utility/Icon: Make Icon a RefCounted object 2017-01-19 21:59:34 +01:00
Lynix 670199b557 Utility/Cursor: Rework Cursor as a handled object 2017-01-19 21:38:56 +01:00