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
SirLynix
11e098f8b2
Fix warning
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
Jérôme Leclercq
dc6ce8427c
Refactor material system ( #382 )
2022-10-31 19:53:41 +01:00
SirLynix
9cd7976a91
Remove "MemoryManager" and very old code
2022-09-24 14:25:52 +02:00
SirLynix
6bf4ccaae1
Core/ParameterList: Rework Parameter getter using Result
2022-09-09 13:47:06 +02:00
SirLynix
c669c68533
Minor fixes
2022-08-17 20:13:00 +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
38e32025e9
Add a way to embed renderer backends code into NazaraRenderer
2022-08-07 20:19:04 +02:00
SirLynix
6882163693
Update for latest NZSL version
2022-07-16 14:17:04 +02:00
SirLynix
2e894336e5
VulkanRenderer: Fix minUniformBufferOffsetAlignment limit
2022-06-28 20:21:33 +02:00
SirLynix
093d9d344e
Renderer: Add support for storage buffers
2022-06-17 20:15:16 +02:00
SirLynix
c7b6d83bbc
Last nzsl version update
2022-06-07 20:18: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
2389a2fe53
Platform/WindowManager: Rename to WindowBackend
2022-04-23 16:26:59 +02:00
SirLynix
e7274b24e9
Core/Color: Switch formal from RGBA8 to RGBA32F
2022-04-23 16:08:15 +02:00
SirLynix
9d526741b9
Add proper support for IndexType and uint32 indices
2022-04-04 09:02:00 +02:00
Lynix
5cd9f6fdcd
Minor fixes
2022-04-02 21:18:04 +02:00
Alexandre Janniaux
5af8abbca9
VulkanRenderer: Loader: load libvulkan.dylib on MacOS
2022-03-20 19:41:31 +01:00
Jérôme Leclercq
d86f61cd82
VulkanRenderer: Fix VK_EXT_debug_utils with MoltenVK
2022-03-20 14:54:38 +01:00
Jérôme Leclercq
a6dce6861d
macOS fixes
2022-03-20 10:02:31 +01:00
Jérôme Leclercq
6bd9f1a9e4
Add unity build support
2022-03-15 12:44:21 +01:00
Jérôme Leclercq
43ac86e85c
Shader/Modules: proof of concept
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
99e07e6e1e
Shader: Add module statement
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
55a5ae0648
VulkanRenderer: Improve pixel format handling
2022-02-27 18:41:43 +01:00
Jérôme Leclercq
29786765c6
Big buffer refactor
...
Replaced RenderBuffer class, replaced AbstractBuffer by Buffer
2022-01-23 00:05:08 +01:00
Jérôme Leclercq
55784a7dfc
VulkanRenderer: Fix scissor handling
2022-01-01 23:02:09 +01:00
SirLynix
89c7bbf197
Update copyright date
2022-01-01 15:30:09 +01:00
Jérôme Leclercq
b43ed890d0
Fix scissor bugs (fixes Deferred Shading flare on Vulkan and widget scissor on OpenGL)
2021-12-25 20:25:39 +01:00
Jérôme Leclercq
b98fd65a01
Fix a lot of small bugs/warnings
2021-12-25 20:07:53 +01:00
Jérôme Leclercq
38b143ce8f
VulkanRenderer: Improve ImageAspectFlags handling
2021-12-16 18:29:15 +01:00