Commit Graph

180 Commits

Author SHA1 Message Date
SirLynix 6fd90d63ef Fix check-files 2023-03-21 13:21:49 +01: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 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 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 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 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 7cb90782de ~ fix post rebase & dirty fix avoid deleting shaders before linking them 2023-02-02 20:34:25 +01:00
REMqb f172330aaf ~ WIP port emscripen (WebGL) 2023-02-02 20:34:25 +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 a8b6d9cb42 Renderer/RenderFrame: Use FunctionRef instead of std::function to avoid allocations 2023-01-01 19:48:51 +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 f8238a6e6c Graphics: Implement point-light shadow-mapping 2022-12-08 18:17:13 +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 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 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 ccf77ac459 OpenGLRenderer: Setup draw buffers only once 2022-12-06 07:49:41 +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
Lynix 0133a91c4d OpenGLRenderer: Fix FBO clearing when scissor is enabled 2022-11-06 15:31:55 +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 131faa4fbd OpenGLRenderer: Take advantage of glClipControl if available 2022-09-06 13:01:44 +02:00
SirLynix 099528758c OpenGLRenderer: Fix explicit texture/block binding (fixes GLSL ES 3.0 support) 2022-08-12 23:01:58 +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 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
SirLynix b0ecb64f19 OpenGLRenderer: Fix loading of glSpecializeShader 2022-05-09 13:19:31 +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
Jérôme Leclercq a6dce6861d macOS fixes 2022-03-20 10:02:31 +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 8a097afb1b Graphics/FramePass: Replace render rect parameter of CommandCallback by FramePassEnvironment 2022-02-27 18:37:05 +01:00
Jérôme Leclercq ebd1318512 OpenGLRenderer: Add shader source on compilation error 2022-02-18 13:05:19 +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