SirLynix
e8620894f7
Renderer: Expose present mode and allow to query/set it
2023-08-13 18:16:03 +02:00
Jérôme Leclercq
313be2d0f4
Fix merge 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
ce2693114c
Fix includes
2023-07-17 19:18:15 +02:00
SirLynix
de88873c35
Make use of the new Flags iterator
2023-06-02 17:57:26 +02:00
SirLynix
2886a2e0c0
Rename EnumMap to EnumArray after nazarautils update
2023-05-30 13:49:19 +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
507cd27eaf
Start working on documentation generator
2023-03-21 13:21:00 +01:00
SirLynix
9b4d297c04
Update includes for new NazaraUtils version
2023-03-19 13:01:56 +01:00
SirLynix
3c2172103a
Minor fixes²
2023-03-14 18:08:29 +01:00
SirLynix
488f3ca6ef
Minor fixes
2023-03-14 18:06:14 +01:00
SirLynix
99c8027fd0
Remove .inl inclusion of their .hpp files
...
It has no real purpose and is breaking Clang parsing
2023-03-10 13:33:10 +01:00
SirLynix
f51514ebb6
Update global headers
2023-03-05 18:01:01 +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
97fa4d98be
Rework EnTT integration
...
- Update EnTT to 3.11.1
- Moved EnTT wrapper to EnTTWorld, inheriting EntityWorld
- AppEntitySystemComponent can now handles multiple EntityWorld
- Headers relying on EnTT are now automatically included if NAZARA_ENTT is defined
- Renamed SystemGraph to EnttSystemGraph (as it depends on it for now)
2023-01-28 19:28:43 +01:00
SirLynix
f98cbcd00a
Copyright year update
2023-01-22 17:41:18 +01:00
SirLynix
d3c05c9ade
Update globalheaders and fix includes/header guards
2023-01-22 12:37:58 +01:00
SirLynix
18851c9185
Replace RenderWindow with swapchains
2023-01-22 12:37:58 +01:00
SirLynix
a1480fc2db
Graphics: Fix text atlas resizing
2023-01-21 19:10:40 +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
9a553e5e9d
Core: Make Color constexpr
2022-12-29 12:13:00 +01:00
SirLynix
fe8715f1fb
Renderer: Working compute implementation
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
8b101114d1
Minor fixes
2022-12-08 19:20:54 +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
SirLynix
e990a320cc
WIP
2022-12-08 18:17:13 +01:00
SirLynix
77642cf431
Renderer: Implement and use debug names
2022-12-02 22:46:43 +01:00
SirLynix
842e797cc4
Fix a bunch of warnings
2022-11-13 16:12:49 +01:00
SirLynix
9cd7976a91
Remove "MemoryManager" and very old code
2022-09-24 14:25:52 +02:00
SirLynix
a108e6ce65
VulkanRenderer: Update headers and VMA
2022-08-10 00:24:13 +02:00
SirLynix
117f7c2a4b
Renderer: Allow to enable or disable API validation layers using config
2022-08-10 00:04:46 +02:00
SirLynix
093d9d344e
Renderer: Add support for storage buffers
2022-06-17 20:15:16 +02:00
Jérôme Leclercq
03e2801dbe
Split engine to packages NazaraUtils and NZSL ( #375 )
...
* Move code to NazaraUtils and NZSL packages
* Reorder includes
* Tests: Remove glslang and spirv-tools deps
* Tests: Remove glslang init
* Remove NazaraUtils tests and fix Vector4Test
* Fix Linux compilation
* Update msys2-build.yml
* Fix assimp package
* Update xmake.lua
* Update xmake.lua
* Fix shader compilation on MinGW
* Final fixes
* The final fix 2: the fix strikes back!
* Disable cache on CI
* The return of the fix™️
2022-05-25 19:36:10 +02:00
Alexandre Janniaux
f146661a76
VulkanRenderer: implement metal view
...
The metal view backing the MoltenVK compatibility wrapper is written in
Obj-C.
It would have been possible to use the Objective-C runtime in C++ but
the code is less performant (the symbol binding is done at first use
instead of the beginning of the program) and actually harder to get
right.
Note that MoltenVK is not linked to the loader, so the libMoltenVK.dylib
object must be available for loading.
2022-05-04 22:12:01 +02:00
SirLynix
e7274b24e9
Core/Color: Switch formal from RGBA8 to RGBA32F
2022-04-23 16:08:15 +02:00
SirLynix
68d2dfcae6
Move FieldOffsets class to Shader module and remove Utility dependency
2022-04-04 19:22:18 +02:00
SirLynix
9d526741b9
Add proper support for IndexType and uint32 indices
2022-04-04 09:02:00 +02:00
SirLynix
66ff6cfa81
Minor fixes
2022-04-04 08:17:03 +02:00
Jérôme Leclercq
a541d44d03
MoltenVK fix
2022-03-20 15:30:19 +01:00