Commit Graph

7170 Commits

Author SHA1 Message Date
SirLynix f2672f6376 Fix compilation 2023-12-07 17:14:20 +01:00
SirLynix f5fefc7b86 Math: Add AngleBetween and RotateTowards for Vector3 and Quaternion 2023-12-07 16:50:22 +01:00
SirLynix 3fd696385d JoltPhysics3D/JoltPhysWorld3D: Add CollisionQuery for points and shapes 2023-12-07 16:49:48 +01:00
SirLynix 26dbdef50d JoltPhysics3D: Add elapsedTime parameter to PostSimulate 2023-12-07 16:45:46 +01:00
SirLynix 6cbfb01243 JoltPhysics3D: Allow raycast to return hit characters (and retrieve their entities) 2023-12-07 16:45:14 +01:00
SirLynix f2ab31cc4b Core/Error: Remove starting / from file log 2023-12-07 16:42:44 +01:00
SirLynix 62d5e611f1 Core/Error: Make error log only the filename where the error occurred 2023-12-04 18:22:40 +01:00
SirLynix 5253a80a24 Audio: Fix compilation on emscripten | unity_build 2023-12-04 17:50:12 +01:00
SirLynix 3fb1096d07 Audio: Implement support for ALC_EXT_thread_local_context 2023-12-04 17:38:05 +01:00
SirLynix 3e1b61070c Audio/OpenALDevice: Fix previous commit 2023-12-04 17:37:40 +01:00
SirLynix b5576ccb9f Audio: Fix data race when a device is used from multiple threads
OpenAL devices can be used from multiple threads and the error handling code (inspired by OpenGLRenderer) did not take that into account. This is not a problem for the OpenGLRenderer since contexts are thread-local which is not the case for OpenAL devices.
2023-12-04 11:01:01 +01:00
SirLynix 81c5322331 Widgets/BoxLayout: Try to fix widget layout 2023-12-04 09:49:48 +01:00
SirLynix 0c29bce3d8 Utility/SubMesh: Allow tangent generation with 3D texcoords 2023-12-04 09:46:31 +01:00
SirLynix c06898fcde Audio: Fix compilation with emscripten 2023-12-04 09:45:09 +01:00
Jérôme Leclercq 876023ffa9
Core: Fix use of std::bit_cast 2023-12-04 00:38:10 +01:00
SirLynix f75a00efe2 Audio: Fix loading of OpenAL extensions (pointers are context-local) 2023-12-04 00:23:39 +01:00
SirLynix 6059f608c0 Minor improvements 2023-12-04 00:22:36 +01:00
SirLynix f7f31431cb JoltPhysics3D/JoltRigidBody3D: Fix IsSleeping 2023-12-04 00:21:51 +01:00
SirLynix e8c594e325 Graphics/ForwardFramePipeline: Fix viewers ordering 2023-12-03 15:45:44 +01:00
SirLynix 27bc5d48e9 Graphics/ForwardFramePipeline: Fix crash with multiple viewers on a single target 2023-12-03 15:31:32 +01:00
SirLynix 73fc061412 Audio/Music: Remove unnecessary code
Play() blocks until the thread (and source) has started
2023-12-03 15:30:39 +01:00
SirLynix 0137bd1871 Graphics/RenderTextureBlit: Fix default MemoryAccess 2023-12-03 15:29:54 +01:00
Lynix 76404f5e0e Core/Modules: Fix env var override when no parameter is passed 2023-12-02 13:56:24 +01:00
Lynix 4ee4092bba Cleanup includes 2023-12-02 13:56:24 +01:00
Lynix 4b71f90cf7 CI: Disable OpenAL on macOS 2023-12-02 13:56:23 +01:00
Lynix dc9c1e14c4 Allow to use env vars to override module configs 2023-12-02 13:56:23 +01:00
Lynix 5472514f4b Core: Add EnvironmentVariables 2023-12-02 13:56:23 +01:00
Lynix ba7d2221d0 Audio/SourceEmitter: Throw exception if audio source couldn't be created 2023-12-02 13:56:23 +01:00
Lynix 36dcc03c11 Audio/OpenALDevice: Improve error when buffer/source creation fails 2023-12-02 13:56:06 +01:00
Lynix 150787971a Audio/Music: Fix possible data-race in GetPlayingOffset 2023-11-29 22:26:19 +01:00
SirLynix ad81b8642e CI: Add sanitizers to macOS build 2023-11-29 11:41:22 +01:00
Jérôme Leclercq 32d227628c
Integrate render target handling in frame graphs (#411)
* Graphics: Integrate RenderTarget in FrameGraph

- This handles the blit to texture/swapchain in the FrameGraph and fixes RenderTextureBlit
- Dummy attachments were added to the FrameGraph class to handle link without texture (used to setup a dependency between two passes with no texture)
- FramePass now supports custom access/layout/usage for inputs

* Graphics/RenderTarget: Allow to set any RenderTarget as output
2023-11-28 21:00:57 +01:00
Lynix f57fc3c1d5 Fix previous commit 2023-11-28 20:33:21 +01:00
Lynix 63ddf35a86 Renderer/RenderResources: Fix PushReleaseCallback forwarding ref
Using a concept here breaks perfect forwarding
2023-11-28 20:20:36 +01:00
Lynix 079f153640 Minor fixes 2023-11-28 20:05:09 +01:00
dependabot[bot] c7579fb9be Bump mymindstorm/setup-emsdk from 12 to 13
Bumps [mymindstorm/setup-emsdk](https://github.com/mymindstorm/setup-emsdk) from 12 to 13.
- [Release notes](https://github.com/mymindstorm/setup-emsdk/releases)
- [Commits](https://github.com/mymindstorm/setup-emsdk/compare/v12...v13)

---
updated-dependencies:
- dependency-name: mymindstorm/setup-emsdk
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-28 13:26:23 +01:00
Lynix 8d2d2901ba Fix compilation 2023-11-28 00:53:21 +01:00
SirLynix e6c5d95278 JoltPhysics3D/RigidBody: Fix mass being overriden by Jolt 2023-11-26 21:30:27 +01:00
SirLynix 962a2e71c7 Renderer/Texture: Allow to keep the texture format in TextureViewInfo 2023-11-26 21:29:49 +01:00
SirLynix 00935efbe0 OpenGLRenderer/Texture: Fix update of non-2D image types 2023-11-26 21:29:19 +01:00
SirLynix f09175228d JoltPhysics3D: Skip the rigid body update if no physics step took place
This improves the framerate if FPS > physics rate
2023-11-26 21:28:40 +01:00
SirLynix 72182327dd Core/PrimitiveList: Rework and inline the class 2023-11-26 21:27:24 +01:00
SirLynix e8eebc1dfc Core/ParameterList: Take advantage of movement 2023-11-26 14:01:23 +01:00
SirLynix 2622951144 Minor fixes 2023-11-26 11:25:52 +01:00
SirLynix 1ac992b5c7 Graphics: Add Billboard support 2023-11-25 15:52:58 +01:00
Lynix 4cbb5b91a3 OpenGLRenderer/FboFramebuffer: Fix texture view emulation with attachment != color0 2023-11-22 14:09:05 +01:00
Jérôme Leclercq b4611afc4b
Update README.md 2023-11-22 00:37:37 +01:00
Lynix fb425e310f Fixed compilation 2023-11-22 00:13:37 +01:00
Lynix 4cc8b78f5f Renderer/RenderResource: Half the number of virtual calls required on cleanup
Since most of the time objects are directly pushed for release instead of callbacks, it makes sense to optimize this case by not storing the object in a callback and removing the call to the virtual Release method. The virtual destructor does the job here.
2023-11-21 23:58:59 +01:00
Lynix 1e81b38c0f Graphics: Replace RenderFrame by RenderResources
This changes makes the whole rendering independent from the RenderFrame acquired from the Swapchain.
This may allow to do offscreen rendering (= without swapchain), or multi-window rendering in the future
2023-11-21 23:33:18 +01:00