Commit Graph

3787 Commits

Author SHA1 Message Date
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
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
SirLynix 88a0bf95ca Utility/ImageStream: Use Time class instead of UInt64 for frametime 2023-02-02 13:27:21 +01:00
SirLynix c144435d4a Graphics: Set default sprites size to the base color texture size, if any 2023-02-02 13:24:22 +01:00
SirLynix ee1a98b761 Core/PluginLoader: Add NAZARA_PLUGIN_DIR environment variable 2023-01-29 20:00:18 +01:00
SirLynix 4aed8b794c Remove unused files 2023-01-29 19:57:07 +01:00
SirLynix 8bc953240d Core/FilesystemComponent: Add a way to fix indices accross DLL boundaries 2023-01-29 18:13:35 +01:00
SirLynix 511a45cf6a Renderer: Fix backend loading on Linux 2023-01-29 15:00:14 +01:00
SirLynix 4a91f3d470 Renderer: Make WindowSwapchain a RenderTarget
To make it easier to handle window re-creation
2023-01-29 10:38:35 +01:00
SirLynix 97fa4d98be Rework EnTT integration
- Update EnTT to 3.11.1
- Moved EnTT wrapper to EnTTWorld, inheriting EntityWorld
- AppEntitySystemComponent can now handles multiple EntityWorld
- Headers relying on EnTT are now automatically included if NAZARA_ENTT is defined
- Renamed SystemGraph to EnttSystemGraph (as it depends on it for now)
2023-01-28 19:28:43 +01:00
SirLynix d5f281a768 Core/AppWindowingComponent: Don't quit app if no window has been created yet 2023-01-28 18:16:50 +01:00
SirLynix d27ca55943 Core/AppFilesystemComponent: Add support for default resource parameters 2023-01-28 11:27:49 +01:00
SirLynix c0024dfa34 Fix warnings 2023-01-28 11:14:02 +01:00
SirLynix f1ee611378 Widgets/SimpleWidgetStyles: Fix hovered sprite not being detached on click 2023-01-28 11:13:32 +01:00
SirLynix 24bc1dac1c Core/StringExt: Refactor WideConverter 2023-01-23 13:24:53 +01:00
SirLynix ca0c4a5db7 Core: Add AppFilesystemComponent 2023-01-22 18:00:26 +01:00
SirLynix f98cbcd00a Copyright year update 2023-01-22 17:41:18 +01:00
SirLynix 2b7ff9274c Core/Application: Add updaters 2023-01-22 12:37:58 +01:00
SirLynix d3c05c9ade Update globalheaders and fix includes/header guards 2023-01-22 12:37:58 +01:00
SirLynix da9eb14ebe Handle windows and EnTT with application components 2023-01-22 12:37:58 +01:00
SirLynix 18851c9185 Replace RenderWindow with swapchains 2023-01-22 12:37:58 +01:00
Lynix 8db1c04568 Make Application template and responsible for modules init 2023-01-22 12:37:58 +01:00
SirLynix 04bfa97579 Add Application base classes (WIP) 2023-01-22 12:37:58 +01:00
SirLynix ba3f26d074 Minor fixes 2023-01-21 19:10:51 +01:00
SirLynix a1480fc2db Graphics: Fix text atlas resizing 2023-01-21 19:10:40 +01:00
Lynix cc1246dcac VulkanRenderer: Fix 32bits compilation 2023-01-02 22:11:00 +01:00
SirLynix a8b6d9cb42 Renderer/RenderFrame: Use FunctionRef instead of std::function to avoid allocations 2023-01-01 19:48:51 +01:00
Jérôme Leclercq dd421a6385
Replace float/UInt64 durations by a more precise Time class (#388)
Improve Clock class with atomic RestartIfOver method and allows to choose required precision
2022-12-29 21:31:46 +01:00
SirLynix 1de5f65536 xmake check-files -f 2022-12-29 12:21:39 +01:00
SirLynix 5fc02c0295 Utility/Image: Fix LoadFaceFrom* 2022-12-29 12:21:15 +01:00
SirLynix 2243d0b1a7 Move free operator overloads inside Nz namespace 2022-12-29 12:15:22 +01:00
SirLynix 763bef3fdd Core: Make Uuid constexpr 2022-12-29 12:13:18 +01:00
SirLynix 9a553e5e9d Core: Make Color constexpr 2022-12-29 12:13:00 +01:00
SirLynix fe8715f1fb Renderer: Working compute implementation 2022-12-25 19:19:16 +01:00
SirLynix 4605eed0da Add compute demo (WIP) + fixes creation of compute pipelines 2022-12-25 19:19:16 +01:00
SirLynix 9578ba3ef5 Add initial support for compute pipelines 2022-12-25 19:19:16 +01:00
SirLynix e4064997d8 Renderer: Split OpenGL and OpenGL ES in two RenderAPI enums 2022-12-25 16:11:28 +01:00
SirLynix 22ae68fdca Audio/Sound: Fix crash when destroying moved Sound 2022-12-24 11:55:27 +01:00
SirLynix 46fe1c550c Fixes unit tests 2022-12-18 17:08:03 +01:00
SirLynix 3c86b84e13 Graphics: Rework tilemap class (and fix its AABB) 2022-12-18 14:57:40 +01:00
SirLynix 830eee78a8 Math: Rework Box and Rect classes 2022-12-18 14:57:14 +01:00
SirLynix e6bf11c48e Minor fixes 2022-12-17 14:49:22 +01:00
SirLynix d4422c4102 Graphics: Add origin to all sprite-based renderables (and made it a factor) 2022-12-17 14:48:50 +01:00
SirLynix 780359eb8b Graphics: Fix point light shadowmaps 2022-12-08 18:28:17 +01:00
SirLynix f8238a6e6c Graphics: Implement point-light shadow-mapping 2022-12-08 18:17:13 +01:00
SirLynix 6731e07b54 VulkanRenderer: Fix 2DArray texture type 2022-12-08 18:17:13 +01:00
SirLynix 5a57976b4b Graphics/FrameGraph: Add support for cubemap and slice rendering 2022-12-08 18:17:13 +01:00
SirLynix 4ae3f51174 VulkanRenderer: Fix views and arrays support 2022-12-08 18:17:13 +01:00
SirLynix 56acbb2694 Renderer: Improve texture view support (and support emulation for OGL) 2022-12-08 18:17:13 +01:00
SirLynix 08ea4c87a7 Improve texture view support 2022-12-08 18:17:13 +01:00
SirLynix 42f8cdb151 Add initial support for texture views 2022-12-08 18:17:13 +01:00
SirLynix 902dee6121 Renderer/TextureInfo: Separate layerCount from size 2022-12-08 18:17:13 +01:00
SirLynix 1768f20365 Graphics: Move shadow-mapping related code to LightShadow classes 2022-12-08 18:17:13 +01:00
SirLynix d7eab778fb Graphics/FrameGraph: Add FramePassAttachmentSize enum instead of boolean 2022-12-08 18:17:13 +01:00
SirLynix 34348b2dde Minor fixes 2022-12-08 18:17:13 +01:00
SirLynix f580ba523d Graphics: Send shadow map res to shader 2022-12-08 18:17:13 +01:00
SirLynix 3623f4ccc4 Add support for moving shadow-casting lights 2022-12-08 18:17:13 +01:00
SirLynix 1727ae8631 Graphics/TextSprite: Fix front facing 2022-12-08 18:17:13 +01:00
SirLynix 11e098f8b2 Fix warning 2022-12-08 18:17:13 +01:00
SirLynix 6ef4c14772 Renderer: Change binding members order 2022-12-08 18:17:13 +01:00
SirLynix e990a320cc WIP 2022-12-08 18:17:13 +01:00
SirLynix 4a10c1f8fe Add shadow mapping (wip) 2022-12-08 18:17:13 +01:00
SirLynix be9fba3190 Graphics/Material: Fix uniform buffer size 2022-12-08 13:06:50 +01:00
SirLynix b79718404c Fix OpenAL extensions functions 2022-12-06 12:54:22 +01:00
Jérôme Leclercq 3d05b1fb44
Fix missing include 2022-12-06 12:00:59 +01:00
SirLynix 75bbc5df09 Minor fixes 2022-12-06 09:07:18 +01:00
SirLynix f2c83df8ff OpenGLRenderer: Print GL call and parameters on failure 2022-12-06 07:53:32 +01:00
SirLynix 6af0904849 OpenGLRenderer: Don't call glDrawBuffer(GL_BACK) on OpenGL ES
even if glDrawBuffer exists
2022-12-06 07:50:26 +01:00
SirLynix ccf77ac459 OpenGLRenderer: Setup draw buffers only once 2022-12-06 07:49:41 +01:00
SirLynix 2dd0e7d9c8 Audio: Add an option to directly link OpenAL 2022-12-06 07:48:03 +01:00
SirLynix 77642cf431 Renderer: Implement and use debug names 2022-12-02 22:46:43 +01:00
SirLynix 54aafe05a1 Fix warning 2022-11-30 18:45:22 +01:00
Jérôme Leclercq f42df21660
Fix unity build 2022-11-28 11:14:40 +01:00
Lynix 02387b8fe3 Graphics: Add Tilemap 2022-11-25 19:28:22 +01:00
Jérôme Leclercq 082015a0c5
Fix macOS compilation (#384)
Disable X11 on macOS, I don't know why it's enabled
2022-11-19 13:37:42 +01:00
SirLynix 2946fc7f0d Fix compilation after NZSL update 2022-11-18 21:31:06 +01:00
SirLynix 2fd2e190b9 FrameGraph: Fix texture pool 2022-11-15 18:01:51 +01:00
SirLynix 842e797cc4 Fix a bunch of warnings 2022-11-13 16:12:49 +01:00
SirLynix ad1f3bc321 Graphics/Graphics: Add preferred depth format 2022-11-06 23:45:37 +01:00
SirLynix ea3c363b58 Graphics/ShaderReflection: Add support for texture arrays 2022-11-06 23:15:22 +01:00
Lynix 0133a91c4d OpenGLRenderer: Fix FBO clearing when scissor is enabled 2022-11-06 15:31:55 +01:00
SirLynix 04a8b03cf3 Graphics/TextureLoader: Add support for alpha-test and alpha-blending 2022-11-05 00:29:25 +01:00
SirLynix fe0d70d9e1 Graphics/MaterialInstance: Add LoadFrom* 2022-11-05 00:28:33 +01:00
SirLynix 5502e51d71 Graphics: Move skinning to a separate module 2022-11-05 00:26:56 +01:00
SirLynix 1205155466 Graphics/Material: Rename CreateInstance to Instantiate 2022-11-05 00:14:16 +01:00
SirLynix 4e631da7dc Renderer/Texture: Preserve filepath when loading image 2022-11-05 00:12:01 +01:00
SirLynix ab154819a7 Graphics: Make use of new auto_binding 2022-10-31 22:44:19 +01:00
SirLynix 6b8be23fa0 Switch index/vertex count to UInt32 2022-10-31 19:54:25 +01:00
Jérôme Leclercq dc6ce8427c
Refactor material system (#382) 2022-10-31 19:53:41 +01:00
SirLynix 6d0b53b39e Core: Rework HardwareInfo 2022-09-24 15:52:29 +02:00
SirLynix 9cd7976a91 Remove "MemoryManager" and very old code 2022-09-24 14:25:52 +02:00
SirLynix 6bf4ccaae1 Core/ParameterList: Rework Parameter getter using Result 2022-09-09 13:47:06 +02:00
SirLynix e063c7b45e Network/ENet: Add DisconnectTimeout event 2022-09-09 12:56:50 +02:00
SirLynix 3f38c52455 xmake check-files -f 2022-09-08 08:58:22 +02:00
SirLynix a8c54abdd0 Graphics: Add skinning support to DepthMaterial 2022-09-08 08:57:37 +02:00
SirLynix 99c9df5731 Graphics: Add default materials 2022-09-08 08:57:11 +02:00
SirLynix 7f7ddb415b Graphics: Fix TextureLoader 2022-09-08 08:56:57 +02:00
SirLynix 72d908817d Fix compilation with unity build 2022-09-07 19:28:41 +02:00
Jérôme Leclercq 5cb50928f7
Utility: Fix STBLoader 2022-09-07 15:40:14 +02:00
SirLynix fbdc1faf8c Graphics: Add TextureLoader 2022-09-07 13:31:21 +02:00
SirLynix 47cb878f9d Major ResourceLoader rework (using Nz::Result) 2022-09-07 13:31:04 +02:00
SirLynix 131faa4fbd OpenGLRenderer: Take advantage of glClipControl if available 2022-09-06 13:01:44 +02:00
SirLynix 359c176b03 Network/ENetHost: Expose AllocatePacket 2022-09-01 20:21:27 +02:00
SirLynix 04d2f4a6c2 Graphics/MaterialPipeline: Rework GetRenderPipeline
Decrease the need for memory allocations in most cases (especially for sprites)
2022-08-30 19:29:23 +02:00
SirLynix 017a6c7af3 Graphics: Use memory pools for render elements 2022-08-30 19:27:52 +02:00
SirLynix 7949c57f16 Utility: Add a better way to attach objects to joints 2022-08-30 18:31:04 +02:00
Lynix 45c947faf1 Core/PoolByteStream: Fix pool returning on Reset 2022-08-28 17:54:49 +02:00
SirLynix 50ed8b4028 Add initial support for skeletal entities / components 2022-08-27 03:07:48 +02:00
SirLynix 01f3f350fe Core/PluginLoader: Allows loading from environment folders 2022-08-27 02:58:34 +02:00
SirLynix 999593ca51 Fix compilation 2022-08-25 12:59:01 +02:00
SirLynix 4a55d40aec Skeleton: Improve skeleton copy performance (O(n²) => O(n)) 2022-08-25 12:59:01 +02:00
SirLynix 133caac5b5 Minor fixes 2022-08-25 12:59:01 +02:00
SirLynix 8d39441bd1 Utility/Skeleton: Add GetRootJoint method 2022-08-25 12:59:01 +02:00
SirLynix 7ada266917 Graphics: Add PredefinedSkeletalData 2022-08-25 12:59:01 +02:00