Commit Graph

3902 Commits

Author SHA1 Message Date
SirLynix 8fb6ea728d Graphics: Add data-driven pipeline passes
Fix compilation
2023-11-06 21:30:49 +01:00
SirLynix 4995364418 Graphics/UberShader: Don't set debug level to regular by default 2023-11-04 17:55:26 +01:00
SirLynix 5382dd3ccd Graphics/UberShader: Hotreload shader when an imported module is modified 2023-11-04 17:55:04 +01:00
SirLynix fa54f1a3e4 Graphics/Material: Fix error message when module is not init 2023-11-04 17:52:47 +01:00
SirLynix c80e06226f Graphics/Graphics: Create default depth texture in preferred depth format 2023-11-04 17:52:27 +01:00
SirLynix 4b8a475bbd Split error macro into two versions (format vs non-formating) to allow format checking at compile-time 2023-11-02 15:18:03 +01:00
SirLynix a803a9cff4 Core: Update UnicodeData 2023-11-02 08:27:10 +01:00
SirLynix 2c6b507e62 Graphics/AbstractViewer: Make Project/Unproject const 2023-10-30 18:36:41 +01:00
SirLynix 6a9177a109 Graphics/ShadowMapping: Replace bias by a position scale
Inspired by Godot (see https://github.com/godotengine/godot-proposals/issues/4517)
2023-10-21 19:31:07 +02:00
SirLynix b04d7662ce Graphics/SlicedSprite: Fix UV inversion when texture coordinates don't take the whole texture 2023-10-21 19:26:26 +02:00
SirLynix a46e61e2e5 Widgets/SimpleWidgetStyles: Fix ImageButtonWidget pressed color 2023-10-21 19:26:26 +02:00
SirLynix da2b49d719 OpenGLRenderer: Fix depthBias constant and slope factors inversion 2023-10-21 19:26:26 +02:00
SirLynix ca4f1b49ac Graphics/Shaders: Adjust PBR ambient 2023-10-14 16:44:36 +02:00
SirLynix f0d809c22a Graphics/ForwardFramePipeline: Fix depth-prepass 2023-10-14 16:43:58 +02:00
SirLynix 4fc5f68f3d Graphics/ViewerInstance: Initialize far and near planes 2023-10-14 14:46:49 +02:00
SirLynix d92a307fb8 Graphics/Shader: Add light shadow support to PBR 2023-10-14 14:46:49 +02:00
SirLynix ceedfbabaf Graphics/Shaders: Move shadow factor to a separate file 2023-10-14 14:46:49 +02:00
SirLynix c191cb227b Fix compilation 2023-10-14 14:46:49 +02:00
SirLynix d6a99da2ea Graphics/Graphics: Enable depth-clamp on shadow pass if supported 2023-10-14 14:46:49 +02:00
SirLynix 35414ec5d8 Use Nz::Bitset<> for-range 2023-10-14 14:46:49 +02:00
SirLynix addbb98671 Graphics/Shaders: Add support for DistanceDepth (aka point-light shadow maps) 2023-10-14 14:46:49 +02:00
SirLynix b3a43eb5ed Graphics: Improve directional light stabilization and split 2023-10-14 14:46:49 +02:00
SirLynix 96504a0a21 Graphics/FramePipeline: Fix UpdateViewerRenderMask name (=> RenderOrder) 2023-10-14 14:46:49 +02:00
SirLynix 9aebb4f745 Graphics: Rework shadowing (add cascaded shadow mapping)
- Add support for per-viewer shadows
- Add cascaded shadow mapping for directional lights (wip)
- Rework the way lights are sent to the shaders (they are now selected once per viewer)
- Fixes PointLight shadow mapping (using a dedicated pass)
- Lights out of frustum for every viewers are no longer processed (wip)
2023-10-14 14:46:49 +02:00
SirLynix a08850946a Graphics/FrameGraph: Fix texture 2D array reuse 2023-10-14 14:46:49 +02:00
SirLynix e10f15243d Graphics: Replace runtime structs offsets by compile-time struct offsets
now that nzsl::FieldOffsets is constexpr this is possible
2023-10-14 14:46:49 +02:00
SirLynix 929b599337 Graphics/ViewerData: Add near and far plane 2023-10-14 14:46:49 +02:00
SirLynix 2a3da7384d Graphics/RenderSystem: Add support for external swapchains 2023-10-13 20:17:31 +02:00
SirLynix 55b4e47582 Graphics/MaterialInstanceLoader: Add sRGB parameter 2023-10-13 19:56:07 +02:00
SirLynix c2e47501e4 Graphics: Embed new NZSL modules 2023-10-13 19:56:07 +02:00
SirLynix d40b8af68d Graphics: Add gamma correction 2023-10-13 19:56:07 +02:00
SirLynix b09b4d2419 Graphics: Add a way to set which passes are enabled in a frame pipeline
This will be replaced soon with a better system
2023-10-08 23:44:24 +02:00
SirLynix 98fe974fc8 Fix some Vulkan errors
Depth buffers were not tagged as output on passes writing on it
Handle holes in clear values
2023-10-08 13:47:15 +02:00
SirLynix 078542e44b VulkanRenderer: Improve performance of validation message filtering 2023-10-08 13:25:42 +02:00
SirLynix c02a20457a VulkanRenderer: Fix best usage warning 2023-10-08 13:24:35 +02:00
SirLynix 4723c92a65 Graphics/FrameGraph: Reuse memory when building physical passes 2023-09-10 14:46:09 +02:00
Jérôme Leclercq 5203a4fb49
Fix previous fix 2023-09-08 14:00:52 +02:00
Jérôme Leclercq 18efb2016d
Fix Fletcher16 and CRC64 2023-09-08 13:40:30 +02:00
Jérôme Leclercq e8ddac4964
Fix CRC32 2023-09-08 09:58:05 +02:00
SirLynix 85d13ae436 Fix wrong commit 2023-09-08 09:14:13 +02:00
SirLynix 21680171a2 Replace GetPlatformEndianness() by PlatformEndianness constexpr
from nazarautils
2023-09-08 09:13:04 +02:00
SirLynix a3bf80a805 Utility/PixelFormat: Fix a bunch of conversions 2023-09-08 09:10:38 +02:00
SirLynix 1009b296a1 Update for latest nazarautils 2023-09-08 09:10:22 +02:00
SirLynix aef8b01f15 Math/Box: Rename FromExtends to FromExtents 2023-09-08 09:06:26 +02:00
SirLynix 5f8b7b361e Renderer/CommandBuffer: Add support for InsertDebugLabel 2023-09-06 13:24:31 +02:00
SirLynix 07d3ccd75d Graphics/UberShader: Log uber-shader compilation errors 2023-09-06 13:23:49 +02:00
SirLynix 7e93666224 Graphics: Give debug names to buffers 2023-09-06 13:23:07 +02:00
SirLynix 1b9c19fd78 Minor fixes 2023-08-31 18:01:59 +02:00
SirLynix b1487a04fd Graphics/FrameGraph: Add support for texture arrays 2023-08-31 18:00:58 +02:00
SirLynix 2a41afa5af VulkanRenderer: Rewrite errors 2023-08-31 17:57:43 +02:00
SirLynix 51e0876bed Renderer/RenderDeviceInfo: Ensure storage/uniform buffer alignment is a power of two 2023-08-31 17:55:15 +02:00
SirLynix d4b2cede15 Fix compilation of FFMpeg plugin/emscripten/ShaderNode 2023-08-24 17:58:49 +02:00
SirLynix f7df4f56b4 Widgets/RichTextAreaWidget: Fix backspace 2023-08-24 17:47:41 +02:00
SirLynix 557da10dc6 Rework TextDrawer interface 2023-08-24 17:47:20 +02:00
SirLynix 9579eba43d Widgets/BaseWidget: Fix warning in release 2023-08-24 08:42:37 +02:00
SirLynix ad738a2803 Core/StringExt: Add IterateOnCodepoints to remove std::u32string allocations 2023-08-24 08:42:25 +02:00
SirLynix bd53245f42 Core/StringExt: Don't pass string_view by ref
https://quuxplusone.github.io/blog/2021/11/09/pass-string-view-by-value/
2023-08-24 08:23:14 +02:00
SirLynix 1b7a89213d Widgets: Fix manually hidden entities being incorrectly shown when widget itself is shown 2023-08-24 07:54:33 +02:00
SirLynix 98c0a47dcc Widgets/TextAreaWidgets: Keep selections active (and visible) when losing focus 2023-08-23 17:56:36 +02:00
SirLynix 8f0890f719 Widgets: Fix new line selection not being bound to scissor box 2023-08-23 17:33:59 +02:00
SirLynix 66f7e4b6ad Core/SignalHandlerAppComponent: Fix warning 2023-08-17 18:05:03 +02:00
SirLynix ae62e1f6c9 Network/WebService: Make Pool return a boolean indicating if a request finished 2023-08-17 18:04:12 +02:00
SirLynix 0989a25a99 Core/SignalHandlerAppComponent: Fix "failed to install signal handlers" warning popping out even if it worked 2023-08-16 18:18:33 +02:00
SirLynix 49adcd7b81 VulkanRenderer/Loader: Try to load other vulkan libs 2023-08-16 18:12:26 +02:00
SirLynix f2fc02cbd4 Core/ErrorFlags: Turn this class into an inline class 2023-08-16 18:11:18 +02:00
SirLynix ab8bac2575 Use fmt store instead of ToString fallback
Thanks to @jonathanpoelen for the idea
2023-08-15 01:10:01 +02:00
SirLynix a741672a51 Allow error message to be formatted 2023-08-15 01:10:01 +02:00
SirLynix e8620894f7 Renderer: Expose present mode and allow to query/set it 2023-08-13 18:16:03 +02:00
SirLynix 7e54b19eb5 Fix unity compilation 2023-08-12 14:08:48 +02:00
SirLynix 68ce2b2d00 ChipmunkPhysics2D/PhysWorld2D: Change default step size to 1 / 120 2023-08-12 12:23:11 +02:00
SirLynix 887bd875f7 Remove unused headers 2023-08-12 12:22:27 +02:00
SirLynix 689ea06fe1 ChipmunkPhysics2D/Constraint2D: Fix leak and implement single body constraints
Also move anchors to world space
2023-08-12 12:12:20 +02:00
SirLynix 65a1c195ac ChipmunkPhysics2D/RigidBody2D: Add ToLocal/ToWorld methods 2023-08-12 12:11:24 +02:00
SirLynix 4642ea778c ChipmunkPhysics2D/PhysicsSystem: Add query functions wrappers 2023-08-10 12:05:31 +02:00
SirLynix ab95bec41b Fix compilation 2023-08-10 12:03:56 +02:00
SirLynix efa2a30934 Fix check-files ordering headers by folder count for different libs 2023-08-10 08:59:50 +02:00
SirLynix 494a83e817 JoltPhysics3D/Physics3DSystem: Cleanup test code 2023-08-10 08:59:20 +02:00
SirLynix 5484967498 ChipmunkPhysics2D/RigidBody2D: Add unique body index and remove userdata 2023-08-10 08:40:21 +02:00
SirLynix 09f282f2fe JoltPhysics3D/JoltCharacter: Fix IsOnGround returning true when touching walls 2023-08-09 19:38:07 +02:00
SirLynix a6fbf3c622 Fix previous commit 2023-08-08 18:26:53 +02:00
SirLynix cf6fdf258f Graphics: Add new functions to get default material types/presets 2023-08-08 18:17:58 +02:00
SirLynix 32f8141bd8 ChipmunkPhysics2D: Rework RigidBody2D 2023-08-07 18:17:00 +02:00
SirLynix fd73d62adf Graphics/RenderSystem: Fix skeleton not being used when added after graphics component 2023-08-06 10:14:01 +02:00
SirLynix 5444e4186e Core/Thread: Remove MinGW compiler defines (as they are now part of NazaraUtils) 2023-08-04 16:40:46 +02:00
SirLynix c97bba71e7 Utility/Node: Translate comment 2023-08-04 12:28:32 +02:00
SirLynix b3ad0e3a06 JoltPhysics3D: Fix raycast body for static bodies 2023-08-04 12:28:15 +02:00
SirLynix e6f26f04a9 JoltPhysics3D: Fix destruction of just created bodies 2023-08-04 12:27:26 +02:00
SirLynix 62adfdd26c Graphics: Fix warning 2023-08-04 12:24:29 +02:00
SirLynix 816d9d1174 Allow to setup/override module configuration from commandline 2023-07-30 12:44:43 +02:00
SirLynix c081811760 JoltPhysics3D: Allow to construct components without using the system 2023-07-23 13:05:33 +02:00
SirLynix e42b2c87fc Fix unity build compilation 2023-07-22 12:38:07 +02:00
SirLynix 6370e0d16d Core: Fix compilation with MinGW MCF threads 2023-07-22 12:25:40 +02:00
SirLynix 0c6ca52af0 Core/Thread: Fix MinGW compilation in unity build 2023-07-21 12:14:11 +02:00
SirLynix e3da81dff4 ComputeTest: Fix Vulkan error 2023-07-21 12:12:10 +02:00
SirLynix dee47c6f15 Renderer: Fix BuildMipmaps 2023-07-21 12:12:10 +02:00
SirLynix 4db5b59ec9 Renderer: Refactor transient resources (allow access at any time) 2023-07-21 12:12:10 +02:00
SirLynix e34ba8c05d Add ComputeParticlesTest
Renderer: Add a way to execute commands on the device
2023-07-21 12:12:10 +02:00
Jérôme Leclercq 9e7b98a017
Fix recent GetThreadDescription change 2023-07-21 09:20:46 +02:00
SirLynix ef669d8c9a Core/ThreadImpl: Fix GetThreadDescription link error on older Windows 2023-07-21 09:01:15 +02:00
SirLynix fbf4da3c4f VulkanRenderer: Improve transient command buffer usage
Allocate and reuse them between frames, by resetting the command pool
2023-07-21 09:00:34 +02:00
SirLynix cbe055d412 Core/AppFilesystemComponent: Use hash as key for resource parameters 2023-07-17 19:07:45 +02:00
SirLynix f2bc1bff7a Update for latest nazarautils update 2023-07-17 19:05:15 +02:00
SirLynix af3d1cfa26 Network/NetPacket: Fix mutex recursive lock leading to an exception 2023-07-15 10:36:41 +02:00
SirLynix 42ea4ebbfb Widgets/BaseWidget: Fix background entity not being released 2023-07-15 10:36:03 +02:00
SirLynix 5e4c175395 VulkanRenderer: Implement CommandBufferBuilder::BuildMipmaps 2023-07-14 14:25:08 +02:00
SirLynix 6308553886 Graphics/TextSprite: Fix AABB when scale is used 2023-07-14 14:18:44 +02:00
SirLynix 62663dc8e1 Vulkan 2023-07-14 14:18:04 +02:00
SirLynix 4f3542356d Graphics/RenderSystem: Handle visibility immediatly
This fixes an issue when rendermask/scissor box is updated right after making an entity visible (e.g. widgets)
2023-07-02 14:04:00 +02:00
SirLynix fff4029047 Graphics/ForwardFramePipeline: Fix crash when removing a viewer 2023-07-02 14:02:11 +02:00
SirLynix b66c50a5da Graphics/ForwardFramePipeline: Fix light frustum culling 2023-06-28 17:44:34 +02:00
SirLynix 96618cbb5b Fix some warnings 2023-06-27 19:31:24 +02:00
SirLynix b01ee18eaf Graphics/ForwardFramePipeline: Fix frustum test 2023-06-25 10:02:20 +02:00
SirLynix 8481cc7c15 Widgets/BoxLayout: Fix warning 2023-06-21 20:14:31 +02:00
SirLynix 9887f73116 BulletPhysics3D!: Remove unused variable 2023-06-21 20:14:11 +02:00
SirLynix da6d3afa33 Core/ThreadImpl: Fix warning and merge implementations 2023-06-21 20:13:58 +02:00
SirLynix 6778d6ea33 Fix warning 2023-06-21 19:50:09 +02:00
SirLynix 2a9ec4f3bb Minor fixes 2023-06-16 13:06:11 +02:00
SirLynix 6bf91e10e5 Network: Implement WebService with emscripten fetch API on wasm 2023-06-14 20:13:17 +02:00
SirLynix c65daba072 Network: Add WebService 2023-06-14 20:13:17 +02:00
SirLynix b5206ebdb7 Utility/STBSaver: Replace static map by constexpr unordered_map 2023-06-13 19:39:28 +02:00
NeDKaM ced5083aef Utility : Fixed STBSaver supported file extensions 2023-06-13 19:30:27 +02:00
SirLynix 504c0f771b Minor fixes 2023-06-09 09:24:03 +02:00
SirLynix 40bb69bc60 Core: Add SignalHandlerAppComponent 2023-06-07 22:28:55 +02:00
SirLynix 51ac2b71df Fix thread support on MinGW 2023-06-07 18:54:37 +02:00
Jérôme Leclercq 4c21821802
Core: Add missing GetCurrentThreadName on POSIX 2023-06-07 14:12:32 +02:00
SirLynix bf0d7674c7 Core: Add thread extension functions 2023-06-07 13:35:40 +02:00
SirLynix 628a3a8375 Include fixes 2023-06-07 13:30:25 +02:00
SirLynix caf8446707 Math: Remove Algorithm file and move string functions to StringExt 2023-06-06 08:59:58 +02:00
Jérôme Leclercq c87c45f332
Fix missing include 2023-06-05 20:46:54 +02:00
SirLynix b9c1559d97 Random code cleanup 2023-06-05 18:05:16 +02:00
Jérôme Leclercq 1a55b550fb
Improve math module (#396)
* Improve math module

- Mark almost everything constexpr
- Equality (a == b) is now exact, down to the bit level. If you want approximate equality use the new ApproxEqual method/static method
- Rename Nz::Extend to Nz::Extent
- Removed Make[] and Set[] methods in favor of their static counterpart and operator=
2023-06-02 22:30:51 +02:00
SirLynix de88873c35 Make use of the new Flags iterator 2023-06-02 17:57:26 +02:00
SirLynix 1672765936 JoltPhysics3D/JoltCollider3D: Add Mesh JoltMeshCollider3D 2023-06-02 17:47:25 +02:00
SirLynix d310bf478b Core/VirtualDirectoryFilesystemResolver: Fix unicode path 2023-05-30 19:09:11 +02:00
SirLynix ae5b1dc485 Fix compilation 2023-05-30 13:49:28 +02:00
SirLynix 2886a2e0c0 Rename EnumMap to EnumArray after nazarautils update 2023-05-30 13:49:19 +02:00
SirLynix cff918f6a3 Graphics/ForwardFramePipeline: Fix unregister + register the same renderable pointer not invalidating rendering
This can happen with ECS components which are mostly stable in memory, when destroying a graphics entity and recreating it (even with a different mesh) its pointer may not change due to memory recycling, especially on simple scenes.

A UInt8 generation counter helps prevents this
2023-05-30 13:34:41 +02:00
SirLynix f2f90e2ca3 Fix compilation 2023-05-30 12:37:22 +02:00
SirLynix 0c7efa05e2 Fix a bunch of warnings 2023-05-30 12:34:38 +02:00
SirLynix 68b3e31eec Utility/PixelFormat: use std::string_view to store name 2023-05-30 12:33:40 +02:00
SirLynix dfe6b2ddcf Make use of the new EnumMap class 2023-05-30 12:32:37 +02:00
SirLynix d914f41404 JoltPhysics3D/JoltCharacter: Fix crash after move 2023-05-21 14:58:55 +02:00
SirLynix a6f4e7b08d Add missing include 2023-05-16 14:32:33 +02:00
SirLynix 6f15400d01 JoltPhysics3D: Rework Character class 2023-05-15 19:03:28 +02:00
SirLynix 14c9c7fffd Graphics/GuillotineTextureAtlas: Disable mipmaps for now 2023-05-15 19:02:17 +02:00
SirLynix 34b8bb5d65 Core/Resource: Pass filePath by value and move to prevent useless copy 2023-05-15 08:31:42 +02:00
SirLynix 1d32af53c5 Renderer: Add mipmaps generation support 2023-05-14 18:55:41 +02:00
SirLynix 3712b641f8 Widgets: Improve BoxLayout 2023-05-14 18:53:56 +02:00
SirLynix f1cd5ad048 Fix ShaderNode compilation 2023-05-14 18:51:46 +02:00
SirLynix 383e905b3f Utility/Image: Add LoadFaceFromImage 2023-05-12 19:14:44 +02:00
SirLynix e1d38abc04 Graphics/ForwardFramePipeline: Fix crash with multiple viewers 2023-05-12 19:14:18 +02:00
SirLynix bbbd3f88c1 Core: Add DisabledComponent (to temporary disable an entity) 2023-05-07 22:43:48 +02:00
SirLynix c69397707e Core: Add StateMachine
Backported from legacy Nazara
2023-05-07 22:42:54 +02:00
SirLynix 9aeaaa9495 Core/Application: Fix updater elapsed time 2023-05-06 15:44:52 +02:00
SirLynix 19d0342082 Fix warning 2023-05-01 18:36:34 +02:00
SirLynix 0c64c3d68b Graphics/ForwardFramePipeline: Use camera viewport 2023-05-01 18:36:29 +02:00
SirLynix 3e4f32140e Core/ApplicationBase: Fix elapsedTime in updaters for non-fixed intervals 2023-05-01 18:03:01 +02:00
SirLynix a578b061b4 Graphics/FrameGraph: Fix bug introduced in 97f1c2c56c 2023-05-01 17:05:07 +02:00
SirLynix 3957687a31 OpenGLRenderer/CommandBuffer: Replace std::visit by a switch (to improve performance) 2023-04-30 21:12:33 +02:00
SirLynix 97f1c2c56c Refactor xmake.lua and make some warnings as errors 2023-04-30 21:11:30 +02:00
SirLynix de5e7bd8a8 Core/ApplicationBase: Add support for updaters with intervals 2023-04-23 19:45:33 +02:00
SirLynix cdb4ff2de9 Fix compilation on wasm 2023-04-12 15:31:04 +02:00
SirLynix d717335bca VulkanRenderer: Fix unitybuild causing #define issue because of Windows.h 2023-04-12 14:13:34 +02:00
SirLynix f034e71ba4 Core/HardwareInfo: Fix compilation for other arch than x86 2023-04-12 14:10:55 +02:00
SirLynix 6d8734f288 Add support for ARM64 on Windows 2023-04-11 18:15:29 +02:00
SirLynix 2f5db80183 Remove empty source files 2023-04-11 13:51:11 +02:00
SirLynix 2c6191987f Graphics/PhongMaterial: Add option to disable shadow mapping (and disable it by default on web) 2023-04-10 17:25:18 +02:00
SirLynix f952c64642 Graphics/BasicMaterial: Fix compilation error when no UV are available ...
... but textures are mapped
2023-04-10 17:12:40 +02:00
SirLynix 670389d268 xmake check-files -f 2023-04-10 17:12:23 +02:00
SirLynix 26b23ccce6 Rename Physics2D to ChipmunkPhysics2D 2023-04-10 17:12:23 +02:00
SirLynix 71bc39bfa6 Prepare for merge 2023-04-10 17:12:23 +02:00
SirLynix ad1a7cf43e JoltCollider3D/ConvexHullCollider3D: Improve debug mesh generation 2023-04-10 17:12:23 +02:00
SirLynix 6a609055dc Replace ordered_map with unordered_map when ordering is not required 2023-04-10 17:12:23 +02:00
SirLynix 4f1f0c6418 JoltPhysics3D: Fix JoltConvexHullCollider3D::BuildDebugMesh 2023-04-10 17:12:23 +02:00
SirLynix 1415dcbf1a JoltPhysics3D: Add JoltConvexHullCollider3D 2023-04-10 17:12:23 +02:00
SirLynix 60ed70d3fd Fix unity build compilation 2023-04-10 17:12:23 +02:00
SirLynix d610baf920 JoltPhysics3D: Rework RigidBody wrapper
- Add a clear way to setup dynamic/kinematic or static bodies
- Body registration to the world is batched (all bodies created before a physics step are added together, which is what Jolt is optimized for)
- Added support for empty shapes (= rigid bodies without collision) using a very small shape and tagging the body as sensor
2023-04-10 17:12:23 +02:00
SirLynix 77ee7d8c92 JoltPhysics3D/JoltCollider3D: Fix offsetMatrix not taken into account 2023-04-10 17:12:23 +02:00
SirLynix 61724cc4b9 JoltPhysics3D: Add distance constraint 2023-04-10 17:12:23 +02:00
SirLynix 96cc9aa9d7 Rebase fixes 2023-04-10 17:12:23 +02:00
SirLynix 8d25495bab JoltPhysics3D: Add some methods to JoltCharacter 2023-04-10 17:12:23 +02:00
SirLynix efc81ff508 BulletPhysics3D: Fix movement 2023-04-10 17:12:23 +02:00
SirLynix 6447686ad9 JoltPhysics3D: Add JoltPivotConstraint3D 2023-04-10 17:12:23 +02:00
SirLynix d697450a60 JoltPhysics3D: Add raycast hit normal 2023-04-10 17:12:23 +02:00
SirLynix 1387ac6e35 JoltPhysics3D: Add capsule collider 2023-04-10 17:12:23 +02:00
SirLynix a4ba7d6115 JoltPhysics3D:: Improve characters 2023-04-10 17:12:23 +02:00
SirLynix 2b0239b8f0 JoltPhysics3D: Fix crash when freeing compoites colliders 2023-04-10 17:12:23 +02:00
SirLynix b3595178a1 JoltPhysics3D: Add RaycastQuery and RaycastQueryFirst 2023-04-10 17:12:23 +02:00
SirLynix 707a486e74 BulletPhysics3D: Rename StaticPlaneCollider3D (add Bullet prefix) 2023-04-10 17:12:23 +02:00
SirLynix 63d75e8904 Physics3D/PhysWorld3D: Add generic RaycastQuery 2023-04-10 17:12:23 +02:00
SirLynix 4d42c0cf9c Physics3D/Constraint3D: Add Damping/ImpulseClamp properties 2023-04-10 17:12:23 +02:00
SirLynix 3efd422e86 BulletPhysics3D: Add StaticPlaneCollider3D 2023-04-10 17:12:23 +02:00
SirLynix 021801f02e Continue Jolt integration 2023-04-10 17:12:23 +02:00
SirLynix 648273573d Make Jolt work on web + update demo 2023-04-10 17:12:23 +02:00
SirLynix c5ac142888 Add JoltPhysics3D for a performance test 2023-04-10 17:12:23 +02:00
SirLynix bd4c2d6ee7 Rename Physics3D to BulletPhysics3D 2023-04-10 17:12:23 +02:00
SirLynix 5cbc435e1a Physics3D: Add PivotConstraint3D 2023-04-10 17:12:23 +02:00
SirLynix 522315dbca Physics3D: Add raycast support 2023-04-10 17:12:23 +02:00
SirLynix 5ee25e9621 Physics3D: Use pool for rigid bodies (+ sort them to improve cache) 2023-04-10 17:12:23 +02:00
SirLynix 899739cdce Physics3D/BoxCollider3D: Fix lengths
btBoxShape takes half-size as a parameter
2023-04-10 17:12:23 +02:00
SirLynix 1f68cfa6c2 Physics3D/Collider3D: Use btEmptyShape for NullCollider3D
Having no collider seems to break physics
2023-04-10 17:12:23 +02:00
SirLynix 5126b5f8a2 RigidBody3D: Fix EnableSleeping implementation 2023-04-10 17:12:23 +02:00
SirLynix 795efae3a0 Physics3D: Switch from Newton Dynamics to Bullet3 2023-04-10 17:12:23 +02:00
SirLynix 44aec8d5a5 Allow to load image and textures cubemap/arrays from file using the AppFilesystemComponent
Renames LoadCubemap and LoadArray to Load with additional parameters and allows AppFilesystemComponent to pass additional parameters to them
2023-04-04 08:24:52 +02:00
Lynix a3f7c437f4 Fix compilation with nazarautils changes 2023-04-03 14:02:55 +02:00
Lynix f2bc00d2ea Core: Skip conversion to UTF-16 if filesystem::path is based on it 2023-04-03 12:51:26 +02:00
SirLynix 3c32f21c4a Utility/Node: Add missing SetTransform overload 2023-03-25 15:19:58 +01:00
SirLynix 23cccaaf99 Core/ApplicationBase: Execute updaters before updating components 2023-03-25 14:47:47 +01:00
SirLynix 883b54e6d3 Physics2D: Fix the way newly physics entities are setup 2023-03-25 14:47:35 +01:00
SirLynix 3e99ce6be5 Utility/VelocitySystem: Use Time instead of float for elapsed time 2023-03-25 14:44:44 +01:00
SirLynix 6fd90d63ef Fix check-files 2023-03-21 13:21:49 +01:00
SirLynix 9b4d297c04 Update includes for new NazaraUtils version 2023-03-19 13:01:56 +01:00
SirLynix 630428dc31 Physics2D/PhysWorld2D: Fix crash introduced in 488f3ca6ef 2023-03-17 19:23:23 +01:00
SirLynix 8b734caeac Utility/Node: Massively improve skeletal animations performance by allowing to invalidate the whole skeleton only once
Thanks to @SirMishaa for pointing that out
2023-03-17 19:22:09 +01:00
SirLynix c700a7e45d Graphics/ForwardFramePipeline: Fix shadow maps not showing up until scene update 2023-03-14 18:08:05 +01:00
SirLynix 88b6ff63b7 Graphics/AbstractViewer: Add Project & Unproject methods 2023-03-14 18:07:03 +01:00
SirLynix a414afec24 Core: Update unicode data 2023-03-14 18:06:23 +01:00
SirLynix 488f3ca6ef Minor fixes 2023-03-14 18:06:14 +01:00
SirLynix bf0aac320d Physics3DSystem: Fix initial position 2023-03-10 13:28:05 +01:00
SirLynix 780e7e2def Graphics/Phong: Set default AmbientColor to white 2023-03-10 13:27:47 +01:00
SirLynix b28a0a8748 OCD fix 2023-03-10 13:25:37 +01:00
SirLynix b0b9c61558 Utility/Mesh: Add Build overloads 2023-03-09 17:51:16 +01:00
SirLynix 3edffa8399 Graphics/MaterialInstance: Add UpdatePassesStates 2023-03-09 17:51:03 +01:00
SirLynix 55f2937678 Graphics/GraphicalMesh: Add AABB 2023-03-09 17:50:38 +01:00
SirLynix c67e290b51 Core/ResourceParameters: Add virtual destructor (fix render device destruction) 2023-03-09 17:48:52 +01:00
SirLynix 36dd245564 Core: Rework VirtualDirectory to allow custom directory resolving 2023-03-03 13:21:48 +01:00
SirLynix 0494a72849 Core/Stream: Add HashAppend overload 2023-03-03 13:19:12 +01:00
SirLynix 34abeeb7bd Core/Stream: Add MemoryMapped stream options (allowing for direct memory access) 2023-03-03 13:18:51 +01:00
SirLynix 2629d2052e xmake check-files -f 2023-03-03 13:16:13 +01:00
SirLynix 6bf4304817 Core/File: Add OpenMode::Defer 2023-03-03 13:14:28 +01:00
SirLynix 04e177a1fe Utility: Fix OBJ & MTL parsing when extra-space are present 2023-02-26 14:26:37 +01:00
SirLynix cc8cfc7bd0 Platform/Window: Fix window not moving its impl 2023-02-26 13:50:48 +01:00
SirLynix d46299ff38 VulkanRenderer/VulkanSwapchain: Fix creation when surface size doesn't match expected swapchain size 2023-02-26 13:49:54 +01:00
SirLynix c560e552dc VulkanRenderer/VulkanSwapchain: Don't assume VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR is supported 2023-02-26 13:49:04 +01:00
SirLynix 20ad93f1c9 VulkanRenderer: Add support for VK_EXT_debug_report
Some older drivers (Android) don't support VK_EXT_debug_utils
2023-02-26 13:48:25 +01:00
SirLynix 5e6a20f479 Fix text outline render order 2023-02-26 13:46:19 +01:00
SirLynix 6df919eb70 Renderer/WindowSwapchain: Don't create swapchain on minimized window
This is mainly to prepare for Android "windows" where the window is considered minimized when app is in the background (and thus has no ANativeWindow to render to)
2023-02-26 13:45:18 +01:00
SirLynix 3e41400a63 Renderer/Renderer: Cleanup a bit 2023-02-26 13:43:55 +01:00
SirLynix 421e684344 OpenGLRenderer: Fix FboFramebuffer making context switches
When a window was created and rendered onto, FBO rendering was made on the device reference context which required a context switch.

This has been fixed with OpenGLFboFramebuffer managing a per-context framebuffer and creating one when needed
2023-02-26 13:43:21 +01:00
SirLynix 2e8ea0e887 Graphics/TextSprite: Fix outline showing up over glyphs 2023-02-22 19:12:15 +01:00
SirLynix 5833ce573d Graphics: Switch glyph atlases to R8 instead of A8
A8 can't be supported efficiently on API lacking texture swizzle support (DX, WebGL, WebGPU), so we swizzle in the shader instead
2023-02-22 19:11:41 +01:00
SirLynix b38f9dc79b Core/Log: Pass string_view by value instead of ref 2023-02-22 19:04:07 +01:00
SirLynix e96204a2ab Graphics/AbstractViewer: Set virtual destructor 2023-02-15 16:33:02 +01:00
Jérôme Leclercq 20f70533c0
Fix wasm ci (#391)
* Update wasm-build.yml

* Set embed_rendererbackends with wasm

* wasm fixes

* Fix CI

* Update wasm-build.yml

* More wasm fixes

* Final fixes
2023-02-05 15:03:48 +01:00
SirLynix 5a57aca66a Last changes 2023-02-02 20:34:25 +01:00
SirLynix cee75dcc11 Merge fixes 2023-02-02 20:34:25 +01:00
SirLynix 5567a39a65 Fix widgets 2023-02-02 20:34:25 +01:00
SirLynix 292ca60592 WIP 2023-02-02 20:34:25 +01:00
SirLynix b379518479 Forgot to commit this file 2023-02-02 20:34:25 +01:00
SirLynix 5b3703347f OpenGLRenderer: Use a single context with WebGL 2023-02-02 20:34:25 +01:00