Commit Graph

186 Commits

Author SHA1 Message Date
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
Jérôme Leclercq
7e4a058d41 Renderer/[OpenGL|Vulkan]Renderer: Add support for RGBA16F pixelformat 2021-12-05 17:01:55 +01:00
Jérôme Leclercq
17df8fafa4 Renderer/CommandBuffer: Add support for texture blit/copy 2021-12-03 22:15:34 +01:00
Jérôme Leclercq
d475bbd4a2 VulkanRenderer/VulkanShaderModule: OCD fix 2021-11-21 19:09:30 +01:00
Jérôme Leclercq
32c204e95f Minor fixes 2021-10-29 13:29:49 +02:00
Jérôme Leclercq
a02b1952c0 Apply header order fix 2021-10-28 09:53:56 +02:00
Jérôme Leclercq
ed7ab31933 Apply copyright fix to all files 2021-10-26 14:31:35 +02:00
Jérôme Leclercq
db85372778 Renderer/Texture: Add Copy method (wip) 2021-09-13 23:34:51 +02:00
Jérôme Leclercq
879b2f7aa6 Renderer/Texture: Implement Update of a region + inherit AbstractImage 2021-09-07 18:42:53 +02:00
Jérôme Leclercq
b6745b2906 Renderer: Fix A8, L8 and LA8 support for both OpenGL and Vulkan 2021-09-07 17:39:12 +02:00
Jérôme Leclercq
abdcd63058 Graphics: Add support for draw call data (texture overlay) 2021-09-05 18:26:12 +02:00
Jérôme Leclercq
a18d505ae2 VulkanRenderer: Some fixes 2021-09-05 15:49:36 +02:00
Jérôme Leclercq
fe24cc7d2a VulkanRenderer: Don't enable Vulkan core extensions if they're supported by Vulkan version 2021-09-05 15:48:26 +02:00
Jérôme Leclercq
b6c3988bbe Renderer: Implement firstIndex on DrawIndexed command for OpenGL 2021-09-05 15:46:00 +02:00
Jérôme Leclercq
7aafcfaae9 Minor stuff 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
e4a38d45bd Renderer/CommandBufferBuilder: Take const AbstractBuffer* to match others methods 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
40ecdda3cd VulkanRenderer: Handle VulkanRenderPass destruction 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
c6611fcb9f Renderer/RenderTarget: Add size method and signal 2021-07-10 11:49:35 +02:00
Jérôme Leclercq
552dfbc01e Renderer: Add pipeline and texture sampler info validation 2021-07-09 12:34:38 +02:00
Jérôme Leclercq
8458301a64 Add support for depth clamping 2021-07-09 00:22:08 +02:00
Jérôme Leclercq
309fd547e1 Fix compilation errors and warnings 2021-07-07 22:38:24 +02:00