Commit Graph

103 Commits

Author SHA1 Message Date
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
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
dfe6b2ddcf Make use of the new EnumMap class 2023-05-30 12:32:37 +02:00
SirLynix
9b4d297c04 Update includes for new NazaraUtils version 2023-03-19 13:01:56 +01:00
SirLynix
2629d2052e xmake check-files -f 2023-03-03 13:16:13 +01:00
SirLynix
421e684344 OpenGLRenderer: Fix FboFramebuffer making context switches
When a window was created and rendered onto, FBO rendering was made on the device reference context which required a context switch.

This has been fixed with OpenGLFboFramebuffer managing a per-context framebuffer and creating one when needed
2023-02-26 13:43:21 +01:00
SirLynix
5a57aca66a Last changes 2023-02-02 20:34:25 +01:00
SirLynix
5b3703347f OpenGLRenderer: Use a single context with WebGL 2023-02-02 20:34:25 +01:00
SirLynix
ea5c5240fc Improve emscripten support 2023-02-02 20:34:25 +01:00
REMqb
f172330aaf ~ WIP port emscripen (WebGL) 2023-02-02 20:34:25 +01:00
SirLynix
f98cbcd00a Copyright year update 2023-01-22 17:41:18 +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
e4064997d8 Renderer: Split OpenGL and OpenGL ES in two RenderAPI enums 2022-12-25 16:11:28 +01:00
SirLynix
56acbb2694 Renderer: Improve texture view support (and support emulation for OGL) 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
e990a320cc WIP 2022-12-08 18:17:13 +01:00
SirLynix
75bbc5df09 Minor fixes 2022-12-06 09:07:18 +01:00
SirLynix
f2c83df8ff OpenGLRenderer: Print GL call and parameters on failure 2022-12-06 07:53:32 +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
131faa4fbd OpenGLRenderer: Take advantage of glClipControl if available 2022-09-06 13:01:44 +02:00
SirLynix
117f7c2a4b Renderer: Allow to enable or disable API validation layers using config 2022-08-10 00:04:46 +02:00
SirLynix
a61ebb7806 OpenGLRenderer: enable GL_TEXTURE_CUBE_MAP_SEAMLESS on OpenGL
to match other API behavior
2022-07-02 19:28:20 +02:00
SirLynix
2b4075dc9b OpenGLRenderer: Fix incorrect warning on max storage buffer supported 2022-07-02 19:27:39 +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
SirLynix
b0ecb64f19 OpenGLRenderer: Fix loading of glSpecializeShader 2022-05-09 13:19:31 +02:00
SirLynix
2389a2fe53 Platform/WindowManager: Rename to WindowBackend 2022-04-23 16:26:59 +02:00
Jérôme Leclercq
6bd9f1a9e4 Add unity build support 2022-03-15 12:44:21 +01:00
SirLynix
89c7bbf197 Update copyright date 2022-01-01 15:30:09 +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
a643d0fc3a OpenGLRenderer: Improve error handling (fixes Windows/x86 compilation)
Template specialization was failing because OpenGL function type have __stdcall convention on Windows/32bits
2021-11-02 09:43:30 +01:00
Jérôme Leclercq
9946c17a23 OpenGLRenderer: Choose between OpenGL/OpenGL ES at loading 2021-11-02 09:13:12 +01:00
Jérôme Leclercq
ed7ab31933 Apply copyright fix to all files 2021-10-26 14:31:35 +02:00
Jérôme Leclercq
cb716e5da5 Fix OpenGL version check 2021-10-24 15:25:17 +02:00
Jérôme Leclercq
7ab4d91900 OpenGLRenderer: Implement texture blit/copy if glCopyImageSubData is not supported 2021-09-21 17:39:24 +02:00
Jérôme Leclercq
4933a389a2 OpenGLRenderer: Improve/fix Framebuffer handling 2021-09-21 17:37:03 +02:00
Jérôme Leclercq
7aafcfaae9 Minor stuff 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
1ee2122b3d OpenGLRenderer: Fix initial depth mode 2021-08-19 18:47:11 +02:00
Jérôme Leclercq
9854ebe950 OpenGLRenderer: Disable push/pop group notifications 2021-07-09 13:59:06 +02:00
Jérôme Leclercq
9f410302d2 OpenGLRenderer/Context: Cleanup code 2021-07-09 12:36:24 +02:00
Jérôme Leclercq
681cf31b66 OpenGLRenderer: Disable notification messages 2021-07-09 12:36:00 +02:00
Jérôme Leclercq
8458301a64 Add support for depth clamping 2021-07-09 00:22:08 +02:00
Jérôme Leclercq
3a3279246f OpenGLRenderer: Enable GL_ARB_gl_spirv and GL_ARB_texture_filter_anisotropic with OpenGL 4.6 2021-07-09 00:01:33 +02:00
Jérôme Leclercq
343b0a6fd7 OpenGLRenderer/Context: Remove GL_AMD_debug_output support
It turns out callbacks are not compatibles between GL_AMD_debug_output and GL_ARB_debug_output (and GL_KHR_debug)
2021-07-03 13:01:41 +02:00
Jérôme Leclercq
9f76c84309 OpenGLRenderer/Context: Improve source readability 2021-07-03 12:59:06 +02:00
Jérôme Leclercq
b13c5c950a OpenGLRenderer: Implement face filling 2021-06-20 14:06:28 +02:00