SirLynix
201ac025e2
Graphics: Fix compilation
2024-01-05 11:23:55 +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
0cd8cff53e
OpenGLRenderer: Minor improvements
2024-01-04 10:19:38 +01:00
SirLynix
f46f0da12a
Graphics/Shaders: Fix point and spot lights in PhysicallyBasedMaterial
2024-01-04 00:03:32 +01:00
SirLynix
5a96ab3bf7
Graphics/PipelinePassList: Add AddPass overload taking a pass name
2024-01-03 18:18:09 +01:00
SirLynix
14f51b31ca
Fix a bunch of warnings
2024-01-03 18:17:52 +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
SirLynix
448cf66846
Minor fixes
2024-01-02 11:50:04 +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
Lynix
8a32c748bb
Physics2D/ChipmunkRigidBody2D: Fix SetGeom
2023-12-28 17:47:15 +01:00
SirLynix
08eaf396ed
Update to NazaraUtils 2023.12.28
2023-12-28 13:26:04 +01:00
SirLynix
3d21401569
Fix compilation on Windows < Vista
2023-12-28 13:25:33 +01:00
SirLynix
9da6e2ef8c
ChipmunkPhysics2D: Fix kinematic body handling
2023-12-26 12:42:08 +01:00
SirLynix
0d3a9547fc
Graphics/PipelinePassList: Fix error introduced by 9fb308a531
2023-12-26 12:41:48 +01:00
Lynix
e1b3832643
Minor cleanup
2023-12-25 21:02:24 +01:00
Lynix
9fb308a531
Graphics/FramePipelinePass: Replace pointer + size by span
2023-12-25 20:05:45 +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
496800fc5c
Graphics/UberShader: throw an exception if shader module couldn't be resolved
2023-12-21 00:08:30 +01:00
SirLynix
92e9a75ffa
Platform: Add MessageBox
2023-12-21 00:08:14 +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
3514ac6340
Widgets/Canvas: Add mouse unhandled signals
2023-12-07 18:28:11 +01:00
SirLynix
f2672f6376
Fix compilation
2023-12-07 17:14:20 +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
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
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
Lynix
4ee4092bba
Cleanup includes
2023-12-02 13:56:24 +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
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
079f153640
Minor fixes
2023-11-28 20:05:09 +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
Lynix
fb425e310f
Fixed compilation
2023-11-22 00:13:37 +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
5f796666f0
Minor fixes
2023-11-21 22:07:00 +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
6268acbf04
Graphics: Fix compilation with clang
2023-11-21 08:05:35 +01:00
Lynix
c93a5f1975
Graphics: Fix texture reuse when backbuffer is a proxy
2023-11-21 08:05:26 +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
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
f6c417ba8f
Fix compilation
2023-11-20 12:36:34 +01:00
SirLynix
aaf3d97954
Graphics: Add RenderTexture class
2023-11-20 12:36:34 +01:00
SirLynix
674610e9f8
Graphics/BakedFrameGraph: Don't resize fixed-size textures
...
Fixed-size attachments such as shadows maps were recreated on resize (oops)
2023-11-20 00:01:24 +01:00
SirLynix
2ef9cd0128
Graphics/ForwardFramePipeline: Optimize out merge pass when only one viewer renders to a target
2023-11-17 17:00:08 +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
SirLynix
592845e353
Graphics: Fix default atlas check
2023-11-16 09:00:33 +01:00
SirLynix
b7aca4b22a
Graphics: Update material shaders
2023-11-16 09:00:21 +01:00
SirLynix
f5df12e740
JoltPhysics3D: Update for v4
2023-11-15 08:08:45 +01:00
SirLynix
ddf0dc88bc
Minor fixes
2023-11-15 08:07:06 +01:00
SirLynix
5e643bca7b
Fix MinGW compilation
2023-11-15 08:06:50 +01:00
SirLynix
cf222941ec
Utility/Image: Fix functions taking a Color
2023-11-14 15:41:59 +01:00
SirLynix
a4b10749f7
C++20 fixes
2023-11-14 15:40:48 +01:00
Lynix
e5789d1749
Switch Nazara to C++20
2023-11-14 14:24:28 +01:00
SirLynix
f0fd3b232c
Core: Add generic ParameterConfig
...
This still needs to be improved
2023-11-12 12:54:34 +01:00
SirLynix
86e26008b3
Minor fixes
2023-11-12 12:51:56 +01:00
SirLynix
949573636d
Graphics: RegisterDebugDrawPipelinePass
2023-11-06 21:30:49 +01:00
SirLynix
db58921cc4
Graphics/PipelinePassList: Add support for attachment proxy
2023-11-06 21:30:49 +01:00
SirLynix
578240cd6f
Graphics/PipelinePassListLoader: Replace Result by exception to improve readability
2023-11-06 21:30:49 +01:00
SirLynix
886991f86d
Graphics: Add PipelinePassList loader (able to load from a file)
...
Fix compilation
2023-11-06 21:30:49 +01:00
SirLynix
ef0a34b7b1
Graphics: Add FramePipelinePassFlag to fix shadows
2023-11-06 21:30:49 +01:00
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