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
SirLynix
51e0876bed
Renderer/RenderDeviceInfo: Ensure storage/uniform buffer alignment is a power of two
2023-08-31 17:55:15 +02:00
SirLynix
d4b2cede15
Fix compilation of FFMpeg plugin/emscripten/ShaderNode
2023-08-24 17:58:49 +02:00
SirLynix
f7df4f56b4
Widgets/RichTextAreaWidget: Fix backspace
2023-08-24 17:47:41 +02:00
SirLynix
557da10dc6
Rework TextDrawer interface
2023-08-24 17:47:20 +02:00
SirLynix
9579eba43d
Widgets/BaseWidget: Fix warning in release
2023-08-24 08:42:37 +02:00
SirLynix
ad738a2803
Core/StringExt: Add IterateOnCodepoints to remove std::u32string allocations
2023-08-24 08:42:25 +02:00
SirLynix
bd53245f42
Core/StringExt: Don't pass string_view by ref
...
https://quuxplusone.github.io/blog/2021/11/09/pass-string-view-by-value/
2023-08-24 08:23:14 +02:00
SirLynix
1b7a89213d
Widgets: Fix manually hidden entities being incorrectly shown when widget itself is shown
2023-08-24 07:54:33 +02:00
SirLynix
98c0a47dcc
Widgets/TextAreaWidgets: Keep selections active (and visible) when losing focus
2023-08-23 17:56:36 +02:00
SirLynix
8f0890f719
Widgets: Fix new line selection not being bound to scissor box
2023-08-23 17:33:59 +02:00
SirLynix
66f7e4b6ad
Core/SignalHandlerAppComponent: Fix warning
2023-08-17 18:05:03 +02:00
SirLynix
ae62e1f6c9
Network/WebService: Make Pool return a boolean indicating if a request finished
2023-08-17 18:04:12 +02:00
SirLynix
0989a25a99
Core/SignalHandlerAppComponent: Fix "failed to install signal handlers" warning popping out even if it worked
2023-08-16 18:18:33 +02:00
SirLynix
49adcd7b81
VulkanRenderer/Loader: Try to load other vulkan libs
2023-08-16 18:12:26 +02:00
SirLynix
f2fc02cbd4
Core/ErrorFlags: Turn this class into an inline class
2023-08-16 18:11:18 +02:00
SirLynix
ab8bac2575
Use fmt store instead of ToString fallback
...
Thanks to @jonathanpoelen for the idea
2023-08-15 01:10:01 +02:00
SirLynix
a741672a51
Allow error message to be formatted
2023-08-15 01:10:01 +02:00
SirLynix
e8620894f7
Renderer: Expose present mode and allow to query/set it
2023-08-13 18:16:03 +02:00
SirLynix
7e54b19eb5
Fix unity compilation
2023-08-12 14:08:48 +02:00
SirLynix
68ce2b2d00
ChipmunkPhysics2D/PhysWorld2D: Change default step size to 1 / 120
2023-08-12 12:23:11 +02:00
SirLynix
887bd875f7
Remove unused headers
2023-08-12 12:22:27 +02:00
SirLynix
689ea06fe1
ChipmunkPhysics2D/Constraint2D: Fix leak and implement single body constraints
...
Also move anchors to world space
2023-08-12 12:12:20 +02:00
SirLynix
65a1c195ac
ChipmunkPhysics2D/RigidBody2D: Add ToLocal/ToWorld methods
2023-08-12 12:11:24 +02:00
SirLynix
4642ea778c
ChipmunkPhysics2D/PhysicsSystem: Add query functions wrappers
2023-08-10 12:05:31 +02:00
SirLynix
ab95bec41b
Fix compilation
2023-08-10 12:03:56 +02:00
SirLynix
efa2a30934
Fix check-files ordering headers by folder count for different libs
2023-08-10 08:59:50 +02:00
SirLynix
494a83e817
JoltPhysics3D/Physics3DSystem: Cleanup test code
2023-08-10 08:59:20 +02:00
SirLynix
5484967498
ChipmunkPhysics2D/RigidBody2D: Add unique body index and remove userdata
2023-08-10 08:40:21 +02:00
SirLynix
09f282f2fe
JoltPhysics3D/JoltCharacter: Fix IsOnGround returning true when touching walls
2023-08-09 19:38:07 +02:00
SirLynix
a6fbf3c622
Fix previous commit
2023-08-08 18:26:53 +02:00
SirLynix
cf6fdf258f
Graphics: Add new functions to get default material types/presets
2023-08-08 18:17:58 +02:00
SirLynix
32f8141bd8
ChipmunkPhysics2D: Rework RigidBody2D
2023-08-07 18:17:00 +02:00
SirLynix
fd73d62adf
Graphics/RenderSystem: Fix skeleton not being used when added after graphics component
2023-08-06 10:14:01 +02:00
SirLynix
5444e4186e
Core/Thread: Remove MinGW compiler defines (as they are now part of NazaraUtils)
2023-08-04 16:40:46 +02:00
SirLynix
c97bba71e7
Utility/Node: Translate comment
2023-08-04 12:28:32 +02:00
SirLynix
b3ad0e3a06
JoltPhysics3D: Fix raycast body for static bodies
2023-08-04 12:28:15 +02:00
SirLynix
e6f26f04a9
JoltPhysics3D: Fix destruction of just created bodies
2023-08-04 12:27:26 +02:00
SirLynix
62adfdd26c
Graphics: Fix warning
2023-08-04 12:24:29 +02:00
SirLynix
816d9d1174
Allow to setup/override module configuration from commandline
2023-07-30 12:44:43 +02:00
SirLynix
c081811760
JoltPhysics3D: Allow to construct components without using the system
2023-07-23 13:05:33 +02:00
SirLynix
e42b2c87fc
Fix unity build compilation
2023-07-22 12:38:07 +02:00
SirLynix
6370e0d16d
Core: Fix compilation with MinGW MCF threads
2023-07-22 12:25:40 +02:00
SirLynix
0c6ca52af0
Core/Thread: Fix MinGW compilation in unity build
2023-07-21 12:14:11 +02:00
SirLynix
e3da81dff4
ComputeTest: Fix Vulkan error
2023-07-21 12:12:10 +02:00
SirLynix
dee47c6f15
Renderer: Fix BuildMipmaps
2023-07-21 12:12:10 +02:00
SirLynix
4db5b59ec9
Renderer: Refactor transient resources (allow access at any time)
2023-07-21 12:12:10 +02:00
SirLynix
e34ba8c05d
Add ComputeParticlesTest
...
Renderer: Add a way to execute commands on the device
2023-07-21 12:12:10 +02:00
Jérôme Leclercq
9e7b98a017
Fix recent GetThreadDescription change
2023-07-21 09:20:46 +02:00
SirLynix
ef669d8c9a
Core/ThreadImpl: Fix GetThreadDescription link error on older Windows
2023-07-21 09:01:15 +02:00
SirLynix
fbf4da3c4f
VulkanRenderer: Improve transient command buffer usage
...
Allocate and reuse them between frames, by resetting the command pool
2023-07-21 09:00:34 +02:00
SirLynix
cbe055d412
Core/AppFilesystemComponent: Use hash as key for resource parameters
2023-07-17 19:07:45 +02:00
SirLynix
f2bc1bff7a
Update for latest nazarautils update
2023-07-17 19:05:15 +02:00
SirLynix
af3d1cfa26
Network/NetPacket: Fix mutex recursive lock leading to an exception
2023-07-15 10:36:41 +02:00
SirLynix
42ea4ebbfb
Widgets/BaseWidget: Fix background entity not being released
2023-07-15 10:36:03 +02:00
SirLynix
5e4c175395
VulkanRenderer: Implement CommandBufferBuilder::BuildMipmaps
2023-07-14 14:25:08 +02:00
SirLynix
6308553886
Graphics/TextSprite: Fix AABB when scale is used
2023-07-14 14:18:44 +02:00
SirLynix
62663dc8e1
Vulkan
2023-07-14 14:18:04 +02:00
SirLynix
4f3542356d
Graphics/RenderSystem: Handle visibility immediatly
...
This fixes an issue when rendermask/scissor box is updated right after making an entity visible (e.g. widgets)
2023-07-02 14:04:00 +02:00
SirLynix
fff4029047
Graphics/ForwardFramePipeline: Fix crash when removing a viewer
2023-07-02 14:02:11 +02:00
SirLynix
b66c50a5da
Graphics/ForwardFramePipeline: Fix light frustum culling
2023-06-28 17:44:34 +02:00
SirLynix
96618cbb5b
Fix some warnings
2023-06-27 19:31:24 +02:00
SirLynix
b01ee18eaf
Graphics/ForwardFramePipeline: Fix frustum test
2023-06-25 10:02:20 +02:00
SirLynix
8481cc7c15
Widgets/BoxLayout: Fix warning
2023-06-21 20:14:31 +02:00
SirLynix
9887f73116
BulletPhysics3D!: Remove unused variable
2023-06-21 20:14:11 +02:00
SirLynix
da6d3afa33
Core/ThreadImpl: Fix warning and merge implementations
2023-06-21 20:13:58 +02:00
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