Commit Graph

112 Commits

Author SHA1 Message Date
SirLynix
0cd8cff53e OpenGLRenderer: Minor improvements 2024-01-04 10:19:38 +01:00
SirLynix
d2e2c075b4 Update copyright year 2024-01-02 12:02:14 +01:00
SirLynix
6059f608c0 Minor improvements 2023-12-04 00:22:36 +01:00
Lynix
079f153640 Minor fixes 2023-11-28 20:05:09 +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
da2b49d719 OpenGLRenderer: Fix depthBias constant and slope factors inversion 2023-10-21 19:26:26 +02:00
SirLynix
5f8b7b361e Renderer/CommandBuffer: Add support for InsertDebugLabel 2023-09-06 13:24:31 +02:00
SirLynix
d4b2cede15 Fix compilation of FFMpeg plugin/emscripten/ShaderNode 2023-08-24 17:58:49 +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
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