Commit Graph

3581 Commits

Author SHA1 Message Date
SirLynix 01d3795dae Network/ENetPeer: Fix HasPendingCommands (fixes DisconnectLater) 2024-01-27 16:45:13 +01:00
SirLynix aad271febe Core/Algorithm: Use SafeCast to serialize string size 2024-01-26 17:23:32 +01:00
SirLynix c931e9a509 Widgets/TextAreaWidget: Add a way to limit text length 2024-01-26 16:15:53 +01:00
SirLynix f10671ac2a Core/StringExt: Add TrimLeftCount and TrimRightCount 2024-01-26 15:11:31 +01:00
SirLynix 22a047b3b1 Add tab outside of indent check 2024-01-26 14:38:59 +01:00
SirLynix 6757de1be8 Add end-of-line spaces checker 2024-01-26 10:43:00 +01:00
SirLynix 63c61c0827 Core/StringExt: Fix IsNumber returning true for "-" 2024-01-26 10:11:07 +01:00
SirLynix 625b4f2d9f Core/StringExt: Add Substring family of function (unicode-aware) 2024-01-26 10:02:15 +01:00
SirLynix 1f34bb58ea Core/EnttWorld: Use in_use instead of free_list to get entity count
Since in_use  seems to be deprecated
2024-01-26 10:00:25 +01:00
SirLynix 9ada93b995 Remove spaces before line feed 2024-01-25 14:38:06 +01:00
SirLynix a116f1fc8d Network: Add WebServiceAppComponent 2024-01-24 17:43:16 +01:00
SirLynix e01f6730ef Network/WebService: Add QueueRequest overload taking a builder functor 2024-01-24 17:42:43 +01:00
SirLynix 086152c97d Core/ApplicationBase: Add methods to query components 2024-01-24 17:41:57 +01:00
SirLynix bb3b28279b Rename AppComponent classes (AppEntitySystemComponent => EntitySystemAppComponent) 2024-01-24 16:50:04 +01:00
SirLynix a228325bd5 Add process unit tests 2024-01-23 19:31:21 +01:00
SirLynix b63c9fcc49 Core/Process: Add Exists function 2024-01-23 19:31:21 +01:00
SirLynix b0648918a7 Core/Process: Add GetCurrentPid 2024-01-23 19:31:21 +01:00
SirLynix ac1422c221 Core: Add initial process support (Process::SpawnDetached) 2024-01-23 19:31:21 +01:00
SirLynix f4095d07a8 xmake check-files -f 2024-01-22 23:15:03 +01:00
SirLynix 639f6708b0 Core/StringExt: Replace ptr + size by a view in IterateOnCodepoints parameter
Also increase buffer size to increase performance
2024-01-22 17:02:26 +01:00
SirLynix 373309d6d9 Core: Move platform-specific code to PlatformImpl namespace 2024-01-22 16:49:21 +01:00
SirLynix e355144bb6 Network/WebRequest: Add progress callback 2024-01-16 15:21:19 +01:00
SirLynix 964d32b34e Widgets: Add ProgressBarWidget 2024-01-16 14:13:06 +01:00
SirLynix c8776bc950 Core/Color: Add dark colors 2024-01-16 14:06:57 +01:00
SirLynix 8ca7c2e8ee Core/Color: Add some operators 2024-01-16 14:06:45 +01:00
SirLynix bbef5cfd1d Color: Replace std::ostringstream usage by Format 2024-01-16 14:06:19 +01:00
SirLynix f1de6f9198 Network/WebRequest: Add option flags 2024-01-14 23:03:45 +01:00
SirLynix db83413536 Graphics: Fix issue when unregistering viewer then adding it again before resources are cleaned 2024-01-14 16:01:55 +01:00
SirLynix 5c7059c8fc Minor fixes 2024-01-13 16:19:46 +01:00
SirLynix 2bdd6f9351 Graphics/Model: Add model loader 2024-01-05 11:24:25 +01:00
SirLynix e8a362b695 Graphics/MaterialInstance: Add Build method 2024-01-04 17:47:54 +01:00
SirLynix 7ae76b32b0 Utility: Rework MaterialData 2024-01-04 17:47:41 +01:00
SirLynix 2125b80b8d Use std::string_view for strings 2024-01-04 14:40:50 +01:00
SirLynix 5a96ab3bf7 Graphics/PipelinePassList: Add AddPass overload taking a pass name 2024-01-03 18:18:09 +01:00
SirLynix cd8c1cb160 Replace reinterpret_cast from/to pointers to BitCast 2024-01-03 17:19:42 +01:00
SirLynix 6d1e7d7852 Fix compilation on Windows 2024-01-02 13:07:38 +01:00
SirLynix 7dc7104cc4 Update to latest nazarautils 2024-01-02 12:02:45 +01:00
SirLynix d2e2c075b4 Update copyright year 2024-01-02 12:02:14 +01:00
Jérôme Leclercq 79ec135af7
Optimize out a lot of std::string construction and allocations (#415)
Update CommandLineParameters.hpp

Update CommandLineParametersTests.cpp

Update WebContext.hpp

xmake check-files -f

Fix MaterialPassRegistry
2023-12-30 14:50:57 +01:00
SirLynix 69efb93671 Network/IpAddress: Add a parameter to exclude port from string 2023-12-30 11:14:29 +01:00
SirLynix 4039d16df0 Graphics/Camera: Fix camera copy / movement by assignation 2023-12-27 17:13:50 +01:00
SirLynix b37aaf6173 Fix some comments 2023-12-26 12:42:15 +01:00
Lynix 9fb308a531 Graphics/FramePipelinePass: Replace pointer + size by span 2023-12-25 20:05:45 +01:00
Lynix 7cd1b32e95 Core/File: Add DecodeOpenMode 2023-12-25 19:51:19 +01:00
Lynix 4065fbfb1a Core/OpenMode: Rename ReadOnly/WriteOnly to Read/Write 2023-12-25 19:49:03 +01:00
SirLynix 91221a9b4a Minor changes 2023-12-23 14:01:04 +01:00
SirLynix 6dc27e7948 Math/Angle: Fix Normalization range ([0;360] => [-180;180]) 2023-12-23 13:37:22 +01:00
SirLynix 92e9a75ffa Platform: Add MessageBox 2023-12-21 00:08:14 +01:00
SirLynix baaea2a33f Math: Improve code 2023-12-20 16:13:36 +01:00
SirLynix f2201404f3 Core/Clock: Add Tick method 2023-12-18 12:15:08 +01:00
SirLynix 8efebef26c Graphics/UberShader: Replace missing UInt32 by the new OptionHash using 2023-12-17 21:07:58 +01:00
SirLynix 83366e93d4 Make changes for breaking NZSL update
Fix build

Fix compilation (again)

Fix global included

TextureAsset belongs to another branch

Add missing include

Fix include (should be good, finally)
2023-12-17 20:40:45 +01:00
SirLynix 87bf4563f2 Update auto-gen files 2023-12-17 16:00:44 +01:00
SirLynix b7bdc74f3f Graphics/SpotLight: Add UpdateAngles method 2023-12-17 15:59:53 +01:00
SirLynix 3514ac6340 Widgets/Canvas: Add mouse unhandled signals 2023-12-07 18:28:11 +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 3fb1096d07 Audio: Implement support for ALC_EXT_thread_local_context 2023-12-04 17:38:05 +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 c06898fcde Audio: Fix compilation with emscripten 2023-12-04 09:45:09 +01:00
SirLynix f75a00efe2 Audio: Fix loading of OpenAL extensions (pointers are context-local) 2023-12-04 00:23: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 5472514f4b Core: Add EnvironmentVariables 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
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
SirLynix 962a2e71c7 Renderer/Texture: Allow to keep the texture format in TextureViewInfo 2023-11-26 21:29:49 +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 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
Lynix d7d5c09428 Graphics/FrameGraph: Remove SwapchainFactors attachment size and fully handle multiple viewer sizes 2023-11-21 23:02:07 +01:00
Lynix dca8555d34 Fix compilation 2023-11-21 22:18:20 +01:00
Lynix 80cab34088 Graphics: Add RenderTextureBlit 2023-11-21 22:06:44 +01:00
Lynix f3aacc0cd2 Graphics/FrameGraph: Rename AddBackbufferOutput to AddOutput 2023-11-21 22:06:24 +01:00
Lynix 6a19ab7ba2 Graphics/FrameGraph: Rename BindAttachmentToExternalTexture 2023-11-21 20:46:22 +01:00
Lynix a018701251 Graphics/ForwardFramePipeline: Fix render size mixup 2023-11-21 19:41:08 +01:00
Lynix c352e78e11 Compilation fixes 2023-11-21 07:44:44 +01:00
SirLynix eddd4e992b Fix previous commit 2023-11-20 23:19:41 +01:00
SirLynix 7991071e41 Graphics/RenderTexture: Remove no longer used config 2023-11-20 23:12:20 +01:00
SirLynix 448cf3b86e Math/Ray: Fix Intersect(Box) 2023-11-20 23:00:29 +01:00
SirLynix 938ba09d45 Graphics: Rework RenderTargets
- RenderTarget have been moved to the Graphics module and are now lightweight objects between the target of rendering (swapchain or texture)
- RenderTexture no longer require a blit between the framegraph texture and the target texture (the target texture is now directly rendered onto using a new feature of the framegraph)
- ForwardFramePipeline viewers are now properly ordered by render order
2023-11-20 23:00:06 +01:00
SirLynix d06f9bda89 Fix compilation again 2023-11-20 12:36:34 +01:00
SirLynix aaf3d97954 Graphics: Add RenderTexture class 2023-11-20 12:36:34 +01:00
Lynix 4f08d0b3c1 Fix compilation 2023-11-20 10:16:00 +01:00
SirLynix 97d5640967 Renderer: Blit texture to window instead of using a full renderpass
This may improve performance and allow for render targets to customize how they blit the final texture (allowing for render-to-texture)
2023-11-17 16:59:31 +01:00
SirLynix f2e77fb8a5 Rename Nz::Functor to Nz::AbstractFunctor 2023-11-17 13:19:21 +01:00
SirLynix 5a14808a57 Minor fixes 2023-11-17 11:58:03 +01:00
SirLynix ddc8cc6797 Core: Rework ParameterFile
Improve parsing and usage
2023-11-17 11:57:05 +01:00