Commit Graph

3226 Commits

Author SHA1 Message Date
Jérôme Leclercq f0192c3b98 Core/ResourceLoader: Fix stream reset in case of error 2021-05-25 10:40:07 +02:00
Jérôme Leclercq cce32a64d4 Upgrade Utility 2021-05-25 10:40:07 +02:00
Jérôme Leclercq b936946154 Upgrade NazaraAudio 2021-05-25 10:40:07 +02:00
Jérôme Leclercq a52103a641 Rework ResourceLoader, ResourceManager and ObjectLibrary
They're no longer static
2021-05-25 10:40:07 +02:00
Jérôme Leclercq f6fd996bf1 Shader: Add support for custom functions calls (and better handle intrinsics) 2021-05-22 13:37:54 +02:00
Jérôme Leclercq 49a2cda0a1 VulkanRenderer: Fix descriptor pool release 2021-05-19 20:32:02 +02:00
Jérôme Leclercq a7235ab02d Shader: Add support for max/min intrinsic 2021-05-19 20:31:26 +02:00
Jérôme Leclercq a002d5c210 Shader: Add constant cast optimization 2021-05-18 17:25:37 +02:00
Jérôme Leclercq e716b44aa3 Add tests and SDK 2021-05-17 23:08:37 +02:00
Jérôme Leclercq 26de5872eb Merge branch 'master' into graphics-next 2021-05-17 18:58:04 +02:00
Lynix ccccbfe0ad Shader/SpirV: Fix UInt32 support 2021-05-16 23:14:39 +02:00
Lynix 13feaf4aab Renderer: RenderWindow now requires a RenderDevice 2021-05-16 23:13:00 +02:00
Lynix 61d082e61b Shader/ShaderWrite: Add optimize bool 2021-05-16 23:08:36 +02:00
Lynix 525f24af2e Shader/ShaderLang: Add support for Unary operators 2021-05-16 23:07:25 +02:00
Jérôme Leclercq cb881612cc Renderer: OCD fix 2021-05-15 15:27:37 +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 572dc56b10 Update global headers 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 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 10aa7231b6 Renderer: Fix MRT support 2021-05-05 12:01:20 +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 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 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 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 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 4bca87b1cb Shader: Add IsExpression/IsStatement 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 0f15387c6c Shader: Add ShaderAst::Clone free function 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 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 593d80c80e SpirV grammar parser: Add result id operand and version info 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 6d6391ca46 Fix compilation
I forgot master was still in C++14
2021-03-30 17:48:32 +02:00
Jérôme Leclercq 48ab2a4b04 ObjectHandle: Fix handling of <T> 2021-03-19 09:55:36 +01:00
Jérôme Leclercq d59423afca Renderer: Rename some TextureUsage 2021-02-24 23:50:12 +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 7c5b1844d3 Core/Flag: Improve code 2021-02-19 14:51:21 +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 32dcc11258 Core/Flags: Add AutoFlag property to disable automatic bit shifting 2021-02-19 14:45:37 +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 41c921bcf6 Function order 2021-01-27 18:53:02 +01:00
Jérôme Leclercq b9151d8a7a Graphics: Improve TextureSampler handling 2021-01-27 18:50:49 +01:00
Jérôme Leclercq 78c3f57333 Regenerate global headers 2021-01-27 16:45:11 +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 a1e0ae3f38 Utility/IndexBuffer: Fix GetStride() method for big meshes 2021-01-27 16:44:06 +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 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 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 079834ca6a Graphics/UberShader: Fix inline keyword 2021-01-03 10:52:02 +01:00
Jérôme Leclercq a801754f6e Remove Material::EnableAlphaTest (superseded by conditions) 2021-01-03 10:48:47 +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
Jérôme Leclercq a1c15a8c16 Math: Add SetBit and TestBit 2020-12-30 18:14:41 +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 8e6b4cc673 Graphics/Model: Fix copy constructor 2020-11-01 17:40:12 +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 40f3072ff9 Renderer: Add RenderPipeline::GetPipelineInfo 2020-10-30 23:07:21 +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 0d779077c1 Core/Algorithm: Add AccessByOffset functions 2020-10-30 23:04:22 +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 6007d8b4ad Fix FileLogger noexcept attribute 2020-09-26 11:51:47 +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 79c53061e0 Shader: Add type functions 2020-09-22 21:50:07 +02:00
Lynix 9c2c62b063 Shader/ShaderAst: Add some noexcept specifiers 2020-09-22 21:24:51 +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 3f6f18859c Fix compilation 2020-09-17 20:25:15 +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 98e20ecbb7 Last modules fixes 2020-09-17 18:54:33 +02:00
Jérôme Leclercq 631aeb77a2 Update global headers 2020-09-11 13:50:19 +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 0cadaecbd2 Fix that clang warning 2020-09-07 16:21:43 +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 385927b05a Fix minor stuff 2020-09-04 16:14:11 +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 69dda85e45 Vulkan: Refactor function list headers 2020-09-04 15:21:46 +02:00
Jérôme Leclercq 5f9025c23c Fix VulkanRenderer compilation under Linux ( 🖕 X.h) 2020-09-04 15:13:18 +02:00
Jérôme Leclercq 951642ecb4 Fix some warnings 2020-09-03 16:33:49 +02:00
Jérôme Leclercq 0255541b44 Replace EGL symbol loader 2020-09-03 16:33:37 +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 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 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 d7586aaef7 Oopsie 2020-09-01 19:28:54 +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 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 09f85e8244 Moar fix 2020-08-28 16:00:11 +02:00
Jérôme Leclercq 35dccd822c Remove useless Wrapper.hpp headers 2020-08-28 15:52:42 +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 3fe70476bb Workaround some GCC bug 2020-08-27 22:58:44 +02:00
Jérôme Leclercq 36120b9501 Compilation fixes 2020-08-27 20:24:27 +02:00
Jérôme Leclercq c87affe276 Fix redefinition of type 2020-08-27 20:12:54 +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 056b78c2f7 Fix 32bits compilation 2020-08-27 20:09:51 +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 9d16559f55 Core/Bitset: Fix crash when resizing to zero 2020-08-27 19:25:43 +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 982d28cace Fix infinite loop 2020-08-25 12:34:43 +02:00
Jérôme Leclercq 9b313dac2e Quality of life improvements 2020-08-24 17:14:01 +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 581a5344e6 OpenGLRenderer: Add wglSwapIntervalEXT 2020-08-11 00:15:34 +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 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 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 fbba281d14 Renderer: Add support for struct and UBO 2020-07-14 21:59:49 +02:00
Jérôme Leclercq b076a517c6 Merge branch 'vulkan' into shader-nodes 2020-07-08 22:38:24 +02:00
Lynix 4f671873c1 Renderer: Add NazaraBinary shader "language" and handle it in OpenGLRenderer 2020-06-18 20:05:22 +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 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 40ade49767 Update global headers 2020-06-17 16:00:16 +02:00
Lynix f38bfdde8a ShaderAst: Big refactor + add binding/location support 2020-06-17 16:00:03 +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 25562a5856 Renderer/ShaderAst: Add BinaryFunc 2020-06-04 18:29:50 +02:00
Lynix 52c24e76db SDK/Physics2D: Fix entity rotation not being taken into account for static physics 2020-06-02 17:06:01 +02:00
Lynix 8c2bfd296f Core/StringExt: Prevent empty match call 2020-06-01 16:16:11 +02:00
Lynix effd1b4552 ShaderNode: Handle vector component count at runtime 2020-05-31 18:39:28 +02:00
Lynix 4f9380da11 More Linux fixes 2020-05-27 21:01:14 +02:00
Lynix 7ed0543ad2 Add NAZARA_PLATFORM_GLX back 2020-05-27 20:52:04 +02:00
Lynix 2efb6baaa6 Linux fix 2020-05-27 20:43:42 +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 d96bc9db6e ShaderNode: Add automatic variables 2020-05-26 20:30:24 +02:00
Lynix b1b9030359 Math/Vector[I]: Replace implicit pointer conversion by [] operator overload 2020-05-26 16:03:57 +02:00
Lynix 3b440254da Math/Vector[I]: Set method: Replace array by pointer 2020-05-26 15:58:15 +02:00
Lynix 8fa456bdf5 Renderer: Remake backend selection 2020-05-23 22:07:22 +02:00
Lynix e23eb74802 Renderer/ShaderAst: Add Sample2D 2020-05-19 20:06:11 +02:00
ImperatorS79 db0b2ba27b Fix warning -Wreorder on linux in SimpleTextDrawer 2020-05-18 10:37:49 +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 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 eba0571f03 OpenGL: Implement program wrapper 2020-04-26 18:22:31 +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 cbd81e3abf Vulkan: Fix DeviceObject not destroying previous object 2020-04-26 16:26:24 +02:00
Lynix 1c23949608 OpenGLRenderer: Use generic DeviceObject 2020-04-26 16:26:08 +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 0fa095e8f7 OpenGL: Rework contexts 2020-04-19 01:35:19 +02:00
Lynix 3b24d020e8 Minor stuff 2020-04-19 01:24:37 +02:00
Lynix fca3d855bd Core: Add MovableValue 2020-04-19 01:23:26 +02:00
Lynix 68760209c1 Add OpenGLRenderer (WIP) 2020-04-15 19:38:11 +02:00
Lynix b58b35c322 Core: Add SplitString(Ext) 2020-04-15 19:37:41 +02:00
Lynix dd74e5ecc1 Includes fix 2020-04-13 16:29:15 +02:00
Lynix e905c3a004 Move Vulkan debug callback to module 2020-04-13 15:12:58 +02:00
Lynix 7447875753 Vulkan/Surface: Remove MIR support 2020-04-13 15:12:19 +02:00
Lynix 75241ed8f0 VkRenderWindow: Default to RGBA8 if supported 2020-04-13 15:11:35 +02:00
Lynix b2d3605cf4 Fix includes 2020-04-10 17:36:43 +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 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 e53e15d1aa Split CommandBuffer into Auto and normal variants 2020-03-26 21:09:58 +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 da5d8bc4c2 Bypass MSVC parser regression 2020-03-20 20:56:15 +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 6fd1f70a6d QueueHandle: Fix submit overloads 2020-03-15 13:26:20 +01:00
Lynix 7cce08ecfd VulkanRenderer/QueueHandle: Add overloads able to take multiple wait/signal semaphores 2020-03-14 17:35:03 +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 0ace9a5e8d Fix instance destruction 2020-03-13 18:45:56 +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 f830dbf6d4 Fix compilation 2020-03-05 22:35:12 +01:00
Lynix c1a01c4183 Remove useless inline 2020-03-05 22:35:00 +01:00
Lynix 2b3241f354 Add RenderPipelineLayout 2020-03-05 20:35:31 +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 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 7180a8d94e WIP 2020-03-01 20:31:41 +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 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 269190bb75 Core/Bitset: Make use of if constexpr 2020-02-24 18:49:43 +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 3fc67b3598 Core/FileLogger: Drop noexcept specifier for movement
Since fstream doesn't have it
2020-02-23 02:20:48 +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 8b5f9d68c3 Fix missing includes 2020-02-23 00:49:38 +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 e35caebdcf Core: Add ByteArrayPool and PoolByteStream classes 2020-02-04 11:42:05 +01:00
Lynix 518b8697de Network/ENetHost: Add AllowsIncomingConnections method 2020-02-01 16:36:05 +01:00
Lynix 8c7301f649 Utility/RichTextDrawer: Add character & line spacing offsets 2020-01-26 16:57:56 +01:00
Lynix 977044f59e Utility/SimpleTextDrawer: Replace line spacing factor by line spacing offset 2020-01-26 16:19:06 +01:00
Lynix 11d51872fa Utility/SimpleTextDrawer: Add character spacing offset 2020-01-26 16:18:28 +01:00
Lynix b50691d71e Update Core.hpp 2020-01-25 19:15:30 +01:00
Lynix 151b8eb425 Fix previous commit 2020-01-25 19:15:25 +01:00
Lynix 6b825a084c Utility/SimpleTextDrawer: Add line spacing factor 2020-01-25 19:08:36 +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 db78c9c948 Renderer/Texture: Remove Image constructor 2020-01-09 22:42:28 +01:00
Lynix df2a029f30 Physics2D/Collider2D: Add support for neighbors vertices 2020-01-01 17:25:22 +01:00
Lynix f371cbb386 Fix EmptyStream open mode 2019-12-29 16:36:23 +01:00
Lynix 35cf05e3bc Core: Add EmptyStream class 2019-12-29 16:25:40 +01:00
Lynix 0b825680de Network/ENetPeer: Reduce memory usage 2019-12-29 11:56:13 +01:00
Lynix 24cb8f6845 Add ENet::GetTotalPacketReceived 2019-12-29 11:54:00 +01:00
Lynix 56243f5a12 Nazara/Network: Add GetTotalByte[Received|Sent] 2019-12-28 17:31:21 +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 ba405aaa5f Fix some missing override 2019-12-28 11:44:13 +01:00
Lynix 97418bfe04 RichText: Add support for outline color/thickness 2019-12-28 11:43:48 +01:00
Lynix e6c0f864f3 Fix reorder warning 2019-12-22 22:12:41 +01:00
Lynix 2a7ffffd84 Fix warning 2019-12-22 17:01:46 +01:00
Lynix e282b842b4 Add Node::SetScale(Vector2) to prevent a bug 2019-12-22 17:01:05 +01:00
Lynix dba9bb8b47 Math: Add Rect(u)i64 using 2019-12-22 17:00:48 +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 ec0eed9eff Core/HandledObject: Add OnHandledObjectDestruction signal 2019-12-15 15:41:41 +01:00
Lynix 3760c8b5c4 Utility/Node: Fix negative scaling not affecting rotation 2019-12-13 17:23:01 +01:00
Lynix 1dbe71474d Utility/Node: Get[Position|Rotation|Scale) now defaults to local space 2019-12-12 09:58:08 +01:00
Lynix bcc10a1ee2 Math/Matrix4: Add Decompose 2019-12-10 09:49:52 +01:00
Lynix be8e89b228 Math: Remove all Set(class) methods 2019-12-10 09:49:40 +01:00
Lynix ef030ddaac Rework constraint2D 2019-12-08 18:56:21 +01:00
Lynix ae996ae09d Oopsie 2019-11-09 15:34:25 +01:00
Lynix 57958056d6 Core/Flags: Add Set method 2019-11-09 13:53:29 +01:00
Lynix a4bff0968b Core/Flags: Add Clear methods 2019-11-09 13:37:40 +01:00
Jérôme Leclercq 9161886cc8 Update Flags.inl 2019-10-15 22:12:31 +02:00
Lynix 9576e2794d Core/Flags: Fix bitfield type selection 2019-10-15 18:09:34 +02:00
Lynix 7b9dad59fe Oopsie 2019-09-29 16:43:56 +02:00
Lynix 31e6bfe43a Core/Stack[Array|Vector]: Are now default-initializable and movable 2019-09-29 16:41:26 +02:00
Lynix 5fce345b3e Core/StackVector: Fix resize check 2019-09-28 17:36:19 +02:00
Lynix 89243a39b5 Holy shit i'm stupid 2019-09-28 16:55:11 +02:00
Lynix acc2c072ba Core/StackVector: Fix erase method (+ add tests) 2019-09-25 16:17:07 +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 5504dd59fb Utility/RichTextDrawer: Update header 2019-09-25 09:36:57 +02:00
Lynix 8013bd5d3b Add current work
Former-commit-id: 7f1e46e484edbbfd120a7a67ea1c36bee460e517
2019-09-25 09:36:57 +02:00
Lynix 724972e889 Core/TypeTag: Add Type helper typedef 2019-09-01 11:15:02 +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 dcfd2ad8f9 Physics2D/PhysWorld2D: Add RaycastQuery and RegionQuery overloads taking a callback 2019-05-27 22:42: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
Apjue 1244ef1303 Fix french comment 2019-04-26 21:51:43 +02:00
Apjue aec88aafa2 Fix Nazara version & fake tab 2019-04-26 21:47:24 +02:00
Lynix 79b0bd644c Add text outlines! 2019-04-16 01:46:26 +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 8c7d886f73 Math/Algorithm: Reenable constexpr 2019-04-15 14:16:57 +02:00
Lynix 0582cbfc26 Utility: Replace UInt32 by TextStyleFlags 2019-04-13 13:09:53 +02:00
Jérôme Leclercq e665ea5373 Graphics/Material: Fix Configure resetting textures 2019-04-12 15:29:15 +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 0ca823f9a6 Graphics: Remove sprite limit 2019-03-31 16:31:02 +02:00
Jérôme Leclercq 03e2bfb833 Merge pull request #201 from DigitalPulseSoftware/physics2d-position-offset
Add possibility to set a position offset to Physics2D bodies
2019-03-28 00:03:41 +01:00
Lynix b2da8d6c91 Fix compilation 2019-03-27 23:13:14 +01:00
Lynix 23887cc519 Merge branch 'master' into physics2d-position-offset 2019-03-26 20:33:40 +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 bdb5a4b3bd Core/Signal: Implement copy constructor/copy assignation operator 2019-03-17 18:06:05 +01:00
Lynix 439a62a7f8 Physics2D: Automatically compute center of mass 2019-03-17 15:56:38 +01:00
Lynix b6c1bfb5d0 Math/Vector4: Fixed missing implementation 2019-03-16 15:43:37 +01:00
Lynix c2a44f7616 Math: Added Vector[2|3|4](u)i64 typedefs 2019-03-16 15:40:52 +01:00
Lynix 23b2f0a48d Platform/Window: Make PushEvent public 2019-03-10 15:50:16 +01:00
Lynix 90609476e9 Platform/Event: Change mouse absolute position from unsigned to signed
Fixes cases where mouse is out of the window by either up or left sides
2019-03-06 21:17:01 +01:00
Alexandre Janniaux 5343b581ad Warnings: fix opengl redefined name (#196)
* opengl: use official include names

* thirdparty: rename GL3 into GL
2019-02-13 01:05:07 +01:00
larnin b002a054df Fix tilemap multimaterial (#197) 2019-02-13 01:03:47 +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 ecd42704a6 Remove MSVC-specific fix 2019-01-19 02:21:29 +01:00
Lynix 0740ee456a Lua/LuaCoroutine: Fixed movement assignation operator 2018-12-19 22:08:50 +01:00
Lynix a3fd69a453 Lua/LuaState: Add RawEqual function 2018-11-14 23:54:31 +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 a292e47673 Network/ENetPeer: Fix return type of GettotalPacket[Lost|Sent] 2018-10-24 20:26:50 +02:00
Lynix 4e9d4c10da Network: Add accessors to ENetHost/ENetPeer 2018-10-21 13:52:14 +02:00
Jérôme Leclercq 5e45983953 Math/Angle: Fix compilation & warning on GCC < 8 2018-10-12 17:09:39 +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 d2b1d51ecb Math/Angle: Replace conversion constructors by conversion operators 2018-10-11 00:07:50 +02:00
Lynix 6653be6f2c Math/Angle: Make use of ToRadians() 2018-10-10 23:12:45 +02:00
Lynix fb11fe1ecf Math/Angle: Rename angle field to value 2018-10-10 23:12:27 +02:00
Lynix 7613f50a6e Math/Angle: Rework ToDegrees/ToRadians
- Rename To[Degrees|Radians] to To[Degrees|Radians]Angle
- Add To[Degrees|Radians] methods which returns an angle value
2018-10-10 23:01:23 +02:00
Lynix 9cc83aafda Math/Angle: Add FromDegrees and FromRadians builders 2018-10-10 22:59:57 +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 7f2826f192 Graphics/CullingList: Fix visibility hash being always the same, causing visibility issues 2018-10-05 19:53:35 +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 8091e52348 Forgot to save this file 2018-09-30 18:07:38 +02:00
Lynix 583393acd0 Network/AbstractSocket: Replace OnStateChange signal by OnStateChanged 2018-09-30 18:04:49 +02:00
Jérôme Leclercq e1cfa2e184 And again 2018-09-25 15:56:35 +02:00
Jérôme Leclercq 2243749480 Math/Angle: Fix warning 2018-09-25 15:55:16 +02:00
Jérôme Leclercq 706a06b506 Increase NetPacket size from UInt16 to UInt32 2018-09-25 15:51:45 +02:00
Jérôme Leclercq 974fa07bcb Remove Vulkan.hpp 2018-09-25 14:53:56 +02:00
Jérôme Leclercq b6a33c76ca Fix crash on moving empty NetPacket 2018-09-25 14:53:49 +02:00
Lynix d0bea6d09a Update global headers 2018-09-06 18:35:51 +02:00
Jérôme Leclercq eaa3fd2f09 Fix method order 2018-09-06 13:27:06 +02:00
Jérôme Leclercq 46008531e0 Math/Angle: Fix implicit conversion to Euler Angles/Quaternion 2018-09-06 13:24:29 +02:00
Lynix 09c49f03fb Math: Update global header 2018-09-05 21:53:13 +02:00
Lynix 1ee75f2699 Math/Angle: Adds conversion to euler angles and quaternions 2018-09-05 21:51:32 +02:00
Jérôme Leclercq 1114bb0fdd Fix some other oopsies 2018-09-05 16:24:10 +02:00
Jérôme Leclercq 500ad417a7 Math/Angle: Fix compilation under Linux 2018-09-05 15:59:00 +02:00
Jérôme Leclercq 4c8e40bb6c Math/Angle: Rename parameters to prevent name clash 2018-09-05 15:18:35 +02:00
Jérôme Leclercq f0e215f8f5 Math/Angle: Optimize SinCos on Linux 2018-09-05 15:15:02 +02:00
Jérôme Leclercq 9e0b61f30d Math/Angle: Add sine, cosine, tangent methods 2018-09-05 15:14:31 +02:00
Jérôme Leclercq 3cc70daf3e Fix missing file 2018-09-05 15:13:39 +02:00
Lynix f59810b68e Math: Add Angle class 2018-09-02 22:06:03 +02:00
Jérôme Leclercq 7bb6c84752 Graphics/CullingList: Improve culling list
- Now supports box culling
- Removed branch
- Removed complex hash combination and replaced it with a much faster algorithm
- It now supports partial visibility
2018-08-31 17:26:50 +02:00
Lynix e62afabd71 Physics2D/Collider2D: Fix CompoundCollider2D filters 2018-08-29 20:54:57 +02:00
Lynix fd9db1b639 Graphics/CullingList: Add forceInvalidation parameter 2018-08-25 22:41:34 +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
Jérôme Leclercq ffc833439d Physics2D/Collider2D: Add some missing getters 2018-08-17 17:03:49 +02:00
Jérôme Leclercq e4d547316d Core/ObjectHandle: Fix Reset(ObjectHandle&&) not clearing the pointer 2018-08-16 18:06:02 +02:00
Lynix 602992609f Sdk/RenderSystem: Add EnableCulling method 2018-08-04 15:38:05 +02:00
Lynix 49d59d93d8 Revert "Core/Flags: Make operators |= &= and ^= constexpr"
This reverts commit a363ae312f.
2018-08-03 23:56:52 +02:00
Lynix a363ae312f Core/Flags: Make operators |= &= and ^= constexpr 2018-08-03 20:26:44 +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
Faymoon abedc30747 Add: [Get/Set]AngularDamping for standardization (#173)
* Update

* Add: [Get/Set]AngularDaming for standardization
2018-07-31 13:24:19 +02:00
Lynix f2487bbcba Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2018-07-15 16:46:34 +02:00
Lynix 01ccca433d Physics/PhysWorld3D: Add [Get|Set]ThreadCount 2018-07-15 16:46:01 +02:00
S6066 58ce182983 Bugfix: invalid variable still used after move (#171) 2018-07-11 19:16:54 +02:00
Lynix 6390da95d3 Fix previous commit crash 2018-07-07 14:35:11 +02:00
Jérôme Leclercq cb6885d6a9 Graphics/CullingList: Fix compilation errors on MSVC with /permissive- 2018-07-06 15:24:30 +02:00
S6066 aafb79f06c Fix: destroy instead of constructing (#169) 2018-07-06 10:42:23 +02:00
Jérôme Leclercq e4b67019cb Math/Vector[2|3]: Removed Distancef and made Distance templated 2018-07-02 18:13:14 +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 bb0456ffed Remove useless namespace prefix 2018-07-02 17:48:51 +02:00
Lynix ea57252081 Graphics/Model: Fix material copy for good 2018-07-01 20:36:42 +02:00
Lynix eeaaebb15c Core: Add ObjectLibrary::Clear 2018-07-01 00:36:59 +02:00
Lynix 78adc11323 Graphics/TileMap: Fix warning 2018-06-24 22:04:48 +02:00
Lynix bf37688b11 Lua/LuaState: Fix std::vector query for good 2018-06-24 21:49:51 +02:00
Lynix 456a9258da Lua/LuaState: Fix std::vector query code 2018-06-24 20:29:20 +02:00
S6066 da044bd21c Make lua binding for std::vector (#164)
* Make LuaImplQueryArg impl for std::vector

* Fix shadowed argument

* Make unit tests

* Bugfix

* Bugfix, for real this time

* We didn't need these tests anyway

* Revert "We didn't need these tests anyway"

This reverts commit be88d4496a9cf62beb4d3ce1f30825589a4bacb2.

* Add change to changelog

* Update ChangeLog.md

* Bugfix & use CallOnExit to pop stack
2018-06-17 19:04:15 +02:00
S6066 858d0da5f2 Fix Sprite & GraphicsComponent copy constructors leaving some members uninitialized (#166)
* Fix Sprite copy constructor (corner colors)

* Also add change to changelog

* [GraphicsComponent] Bugfix: Initialize m_scissorRect in copy ctor

* Add change to changelog

* Move GraphicsComponent fix change to correct section in Changelog

* Use default copy constructor for Sprite
2018-06-17 18:54:02 +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 8ba8d2e92f Merge branch 'ubo' into vulkan 2018-06-12 19:33:06 +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 0bea301a48 Fixed some uninitialized variables 2018-06-09 13:59:35 +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
Lynix 2f0c62df20 Graphics/InstancedRenderable: Make SetMaterial methods public 2018-06-06 19:32:28 +02:00
S6066 f5645833df Fix unwanted behavior with universal references (#165)
* Remove forced template

* Remove useless PushInstance overload
2018-06-06 00:25:59 +02:00
Jérôme Leclercq ba32d700e2 Fix compilation 2018-05-31 17:02:07 +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
Lynix db0e3267da Graphics/AbstractViewer: Add ProjectDepth method 2018-05-29 23:55:51 +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 f2c16f916a Lua/LuaState: Add error handling methods 2018-05-21 19:31:19 +02:00
Lynix 8e2efb5007 Graphics/TextSprite: Fix initial local bounds 2018-05-20 13:38:48 +02:00
Jérôme Leclercq 74773e9daa Core/Flags: Add operator&|^ for enum and flags 2018-05-16 15:54:55 +02:00
Lynix b22c93fa5f Network/ENetPeer: Add GetLastReceiveTime 2018-05-13 14:44:09 +02:00
Lynix 8b6311de63 Lua/LuaState: Add Load methods 2018-05-13 14:42:27 +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 03e976993f Revert "Make LuaImplQueryArg impl for std::vector (#162)"
This reverts commit 24ec816762.
2018-04-30 15:00:45 +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
Jérôme Leclercq d1a969288f Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2018-04-30 14:51:35 +02:00
S6066 24ec816762 Make LuaImplQueryArg impl for std::vector (#162) 2018-04-30 14:51:11 +02:00
HardCPP 232a371fa5 Add normalLength parameter to the DebugDrawer::DrawNormals (#163) 2018-04-30 14:49:44 +02:00
Jérôme Leclercq 8b1efa974f Revert "Oops again"
This reverts commit 1c608596e1.
2018-04-27 11:31:04 +02:00
Lynix 1c608596e1 Oops again 2018-04-26 22:49:14 +02:00
Lynix 43bb487801 Merge branch 'master' into vulkan 2018-04-26 22:48:49 +02:00
Lynix 8ab1462402 Core/HandledObject: Make move constructor/assignation operator noexception 2018-04-22 12:33:36 +02:00
Lynix 52f80a68cb Renderer/OpenGL: Enable GL_TEXTURE_CUBE_MAP_SEAMLESS 2018-04-21 00:28:57 +02:00
Jérôme Leclercq 8a1d61c3ea Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2018-04-16 12:56:15 +02:00
Lynix 69c61ba746 Utility/AbstractTextDrawer: Add GetLineGlyphCount 2018-04-15 02:27:49 +02:00
Lynix 251b8af03a SDK: Add DebugComponent
@gawaboumga @gawaboumga @gawaboumga @gawaboumga @gawaboumga @gawaboumga @gawaboumga @gawaboumga @gawaboumga @gawaboumga
2018-04-13 22:09:19 +02:00
Lynix 19f17fa059 Graphics: Add 2D & cubemap white textures 2018-04-13 00:00:36 +02:00
Jérôme Leclercq 2f2b1f101b Core/Quaternion: Fix Inverse method 2018-04-12 12:45:19 +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
Lynix 3c4c0fab66 Audio: Make Music, Sound, SoundEmitter movable 2018-04-08 17:51:25 +02:00
Lynix 830dae1b27 Core/HandledObject: Fix move assignement operator behavior
It will now unregister all previous handles (notifying about object destruction) before stealing moving object handles
2018-04-06 21:14:09 +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 31c272ab98 Core/HandledObject: Fix move assignement operator 2018-04-03 22:05:35 +02:00
Lynix 715729fc02 Network: Add support for dual-stack sockets 2018-04-01 20:48:50 +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 271565d1b9 And fix compilation again 2018-03-20 22:11:42 +01:00
Lynix bca94e0955 Fix compilation 2018-03-20 21:59:27 +01:00
Lynix 8926f09511 Revert "Try to fix compilation"
This reverts commit a32408a4d7.
2018-03-20 21:57:28 +01:00
Lynix 25f2bcf03f Revert "Core/Algorithm: Fix Apply problems"
This reverts commit 9a8c807d18.
2018-03-20 21:50:22 +01:00
Lynix a32408a4d7 Try to fix compilation 2018-03-20 21:50:16 +01:00
Lynix 6ef5afb88d Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2018-03-20 21:00:19 +01:00
Lynix 9a8c807d18 Core/Algorithm: Fix Apply problems 2018-03-20 20:59:54 +01:00
Lynix ad82de2962 Replace typedef keywords by using 2018-03-20 20:59:04 +01:00
Lynix 69f079fcc8 Core/Serialization: Add type tag parameters 2018-03-20 20:56:06 +01:00
Jérôme Leclercq 457a87d067 Network/ENet: Fix ENetCompressor destructor not being virtual 2018-03-20 17:12:42 +01:00
Jérôme Leclercq a2691ee12e Forgot a file 2018-03-09 16:49:15 +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 0063ca9950 Math/VectorI: Remove array constructor 2018-02-18 18:57:30 +01:00
Lynix efd07029e3 Physics3D/PhysWorld3D: Fix move constructor/operator 2018-02-17 14:23:27 +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
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 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
Lynix b6bbf82d97 Core/Flags: Fix bit shift on integers 2018-01-20 14:19:05 +01:00
germinolegrand 6d11e8d2ed Prerequisites instead of Prerequesites (typo) #152 Header Guard (#154)
For an unknown readon, this correction didn't get to the pull-request (?)
2018-01-19 14:25:33 +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 19580c859f Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2018-01-16 21:30:21 +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 76043e4f2e Merge branch 'master' into physics3d-material 2018-01-14 18:05:44 +01:00
Lynix e9cba3ab6c Lua/LuaClass: Fix case where lua stack is not empty 2018-01-14 18:04:54 +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 68fae51548 Graphics: Fix compilation 2018-01-07 13:54:45 +01:00
Lynix 0b34b2374a Fix warning 2018-01-07 04:13:58 +01:00
Lynix b85a762476 Core/SparsePtr: Fix warning 2018-01-06 02:46:08 +01:00
Lynix 18a4099958 Merge branch 'master' into physics3d-material 2018-01-05 20:49:46 +01:00
Jérôme Leclercq e8d519dad7 Core/MemoryHelper: Make PlacementDestroy a no-op on null pointers 2018-01-05 16:09:25 +01:00
Jérôme Leclercq eb9bc18b45 Core/MemoryHelper: Oops 2018-01-05 15:41:30 +01:00
Jérôme Leclercq 1e53274623 Core/MemoryHelper: Fix alloca with a size equivalent to zero 2018-01-05 15:40:25 +01:00
Jérôme Leclercq 4b6d7d2e47 Math/Algorithm: Fix typo 2018-01-05 15:39:56 +01:00
Lynix 84a3fc1a91 Physics3D/World: Add more control on materials 2017-12-17 19:08:45 +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 99c974c141 Fix compilation 2017-12-15 00:19:45 +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
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 0df70dcb16 Physics3D/RigidBody3D: Rename [Get|Set]Velocity to [Get|Set]LinearVelocity 2017-12-10 12:09:36 +01:00
Lynix 6d09abbc2c Physics3D/RigidBody3D: Add [Get|Set][Angular|Linear]Damping 2017-11-30 12:04:33 +01:00
Lynix 72bcb1fda7 Physics2D/RigidBody2D: Fix SetGeom attribute copy 2017-11-28 23:20:45 +01:00
Lynix 1e190caa2c Fix compilation 2017-11-24 20:15:04 +01:00
Lynix 4c6b5d0546 Merge branch 'master' into vulkan 2017-11-24 20:14:39 +01:00
Jérôme Leclercq 0a5cbe656f Math/VectorI: Make array/pointer constructor explicit 2017-11-23 13:21:51 +01:00
Jérôme Leclercq aa623a4933 Core/Flags: Add Test method 2017-11-22 12:58:56 +01:00
Jérôme Leclercq 54faabcc33 Core/Flags: Allow explicit operator conversion to any integer type of the same size (or greater size) than the internal size 2017-11-22 12:58:17 +01:00
Jérôme Leclercq 9c9b9ed49f Core/String: Fix movement leaving a null shared string 2017-11-22 09:27:23 +01:00
Jérôme Leclercq 046926e4d4 Fix compilation 2017-11-21 12:39:51 +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
Lynix 7eff1f34f1 Fix warning 2017-11-19 20:14:47 +01:00
Lynix 078641aa23 Core/Algorithm: Fix Unserialization of std::string 2017-11-05 22:36:14 +01:00
Lynix 786a11fc78 Graphics/Material: Fix missing reflection initialization 2017-10-31 00:14:50 +01:00
Lynix 8dab3bf341 Renderer/ShaderBuilder: Fix compilation error when including ShaderBuilder.hpp 2017-10-30 22:30:04 +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
Jérôme Leclercq bf82a34fc4 Graphics/Sprite: Fix #138 2017-10-26 15:33:30 +02:00
Lynix 9daadb73bc Utility: Make mesh loader use the parameters vertex declaration 2017-10-21 04:51:05 +02:00
Jérôme Leclercq 2951b7811e Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2017-10-20 16:36:45 +02:00
Jérôme Leclercq a982215ab7 Core/Bitset: Mark swap as noexcept 2017-10-20 16:36:43 +02:00
Lynix 995dfddafa Utility/MeshParam: Use constref instead of pointer 2017-10-19 21:05:48 +02:00
Lynix e0bdd35280 VertexMapper: GetComponentPtr no longer trigger an error/assert 2017-10-19 21:01:07 +02:00
Lynix be38aee1fa Fix some warnings 2017-10-18 22:02:21 +02:00
Lynix b47b89ed8b Utility/Mesh: Add index and vertex buffer flags in MeshParams 2017-10-18 00:29:34 +02:00
Lynix 9c97ec45c6 Utility/Mesh: Disable index buffer optimization in debug mode 2017-10-18 00:21:07 +02:00
Lynix 5b4185a4a6 Utility/VertexMapper: Add GetVertex[Buffer|Count] functions 2017-10-18 00:20:38 +02:00
Jérôme Leclercq 6e7b78611d Physics2D/RigidBody2D: Add SetStatic method 2017-10-16 11:56:41 +02:00
Lynix 9911c6e07c Core: Optimize StringStream 2017-10-15 12:25:08 +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 4bdcb1f31f Fix demo compilation and warnings 2017-10-10 21:52:36 +02:00
Lynix eb6f23d53c Fix -Wignored-qualifiers warning 2017-10-10 21:52:35 +02:00
Lynix 85aa01a562 Physics2D: Add constraint support 2017-10-10 21:52:35 +02:00
Lynix a39ed47ef4 Regenerate global headers 2017-10-10 21:52:34 +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 8569d7da88 Renderer: Make RenderTarget movable 2017-09-30 15:00:54 +02:00
Lynix 508554fcb1 Fix some more warnings 2017-09-30 15:00:42 +02:00
Lynix 0fa3565435 Renderer/Context: Disable movement 2017-09-30 14:53:58 +02:00
Lynix 396fd79c9a Audio: Disable movement for musics 2017-09-30 14:45:30 +02:00
Lynix 85442a14fa Fix: SoundBuffer should not move (as a refcount) 2017-09-30 14:35:26 +02:00
Lynix aa80f52597 Fix compilation 2017-09-30 14:30:36 +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
Lynix c4edf54297 Vulkan/RenderBuffer: WIP 2017-09-16 10:36:41 +02:00
Jérôme Leclercq b4d0854028 Physics2D/PhysWorld2D: Add damping control 2017-09-08 09:41:08 +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 e37a7ad5fd Network/ENetHost: Dismiss external peer connection if listen address is loopback 2017-09-01 15:22:27 +02:00
Jérôme Leclercq 38bd348ed6 Physics2D/RigidBody2D: Allows better control on inertia 2017-09-01 14:26:28 +02:00
Lynix 923ffb6d0a Renderer/ShaderAst: Fix missing file from previous commit 2017-08-30 18:21:44 +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 fd5bf16a90 Renderer/ShaderBuild: Fix build? 2017-08-30 18:21:42 +02:00