Commit Graph

3599 Commits

Author SHA1 Message Date
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
SirLynix ea5c5240fc Improve emscripten support 2023-02-02 20:34:25 +01:00
REMqb f172330aaf ~ WIP port emscripen (WebGL) 2023-02-02 20:34:25 +01:00
SirLynix 35172f5028 Fix some warnings 2023-02-02 13:28:36 +01:00