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
962a2e71c7
Renderer/Texture: Allow to keep the texture format in TextureViewInfo
2023-11-26 21:29:49 +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
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
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
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
c191cb227b
Fix compilation
2023-10-14 14:46:49 +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
5f8b7b361e
Renderer/CommandBuffer: Add support for InsertDebugLabel
2023-09-06 13:24:31 +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
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
49adcd7b81
VulkanRenderer/Loader: Try to load other vulkan libs
2023-08-16 18:12:26 +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
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
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
5e4c175395
VulkanRenderer: Implement CommandBufferBuilder::BuildMipmaps
2023-07-14 14:25:08 +02:00
SirLynix
62663dc8e1
Vulkan
2023-07-14 14:18:04 +02:00
SirLynix
2886a2e0c0
Rename EnumMap to EnumArray after nazarautils update
2023-05-30 13:49:19 +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
1d32af53c5
Renderer: Add mipmaps generation support
2023-05-14 18:55:41 +02:00
SirLynix
d717335bca
VulkanRenderer: Fix unitybuild causing #define issue because of Windows.h
2023-04-12 14:13:34 +02:00
SirLynix
9b4d297c04
Update includes for new NazaraUtils version
2023-03-19 13:01:56 +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
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
f98cbcd00a
Copyright year update
2023-01-22 17:41:18 +01:00
SirLynix
18851c9185
Replace RenderWindow with swapchains
2023-01-22 12:37:58 +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
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
6731e07b54
VulkanRenderer: Fix 2DArray texture type
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
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