SirLynix
51e0876bed
Renderer/RenderDeviceInfo: Ensure storage/uniform buffer alignment is a power of two
2023-08-31 17:55:15 +02:00
SirLynix
4db5b59ec9
Renderer: Refactor transient resources (allow access at any time)
2023-07-21 12:12:10 +02:00
SirLynix
e34ba8c05d
Add ComputeParticlesTest
...
Renderer: Add a way to execute commands on the device
2023-07-21 12:12:10 +02:00
SirLynix
1d32af53c5
Renderer: Add mipmaps generation support
2023-05-14 18:55:41 +02: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
b379518479
Forgot to commit this file
2023-02-02 20:34:25 +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
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
08ea4c87a7
Improve texture view support
2022-12-08 18:17:13 +01:00
Jérôme Leclercq
dc6ce8427c
Refactor material system ( #382 )
2022-10-31 19:53:41 +01:00
SirLynix
117f7c2a4b
Renderer: Allow to enable or disable API validation layers using config
2022-08-10 00:04:46 +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
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
29786765c6
Big buffer refactor
...
Replaced RenderBuffer class, replaced AbstractBuffer by Buffer
2022-01-23 00:05:08 +01:00
SirLynix
89c7bbf197
Update copyright date
2022-01-01 15:30:09 +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
Lynix
90c738023a
OpenGLRenderer: Try to load OpenGL on desktop instead of OpenGL ES
2021-10-30 00:51:17 +02: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
06b442ab58
OpenGLRenderer: Fix depth clamping not being reported as supported
2021-07-09 12:34:57 +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
b13c5c950a
OpenGLRenderer: Implement face filling
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
815a7b0c62
Replace const ShaderAst::StatementPtr& by ShaderAst::Statement& in input
2021-06-16 16:50:00 +02:00
Jérôme Leclercq
86097b331b
Renderer: Add support for device-enabled features (anisotropic filtering)
2021-06-05 19:51:48 +02:00
Jérôme Leclercq
5bc3cd8d8c
OpenGLRenderer: Add GL_EXT_texture_compression_s3tc check for DXT pixel formats
2021-06-03 17:15:12 +02:00
Jérôme Leclercq
6161bbec76
Renderer: Handle more depthstencil formats (as Depth24Stencil8 may not be supported everywhere)
2021-06-02 20:16:43 +02:00
Jérôme Leclercq
aeac3282e4
Renderer: Add RenderDevice::GetDeviceInfo()
2021-05-14 01:55:16 +02:00
Jérôme Leclercq
87ce2edc6e
Shader: Add initial support for options (WIP)
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
e4aabf309e
Renderer: Replace ShaderStage by ShaderModule (a module can handle multiple stages)
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
fb3468854f
Renderer: Implement Framebuffers
2021-02-20 19:22:08 +01:00
Jérôme Leclercq
f327932738
Commit current work
...
Reworked conditions, added uber-shaders, comparison nodes, fixed Discard
2021-01-02 21:15:59 +01:00
Jérôme Leclercq
009e5a0466
Renderer: Rename ShaderStageImpl to ShaderStage
2020-10-30 23:06:15 +01:00
Jérôme Leclercq
f15709c8a3
Renderer: Replace unique_ptr by shared_ptr
2020-09-20 15:56:58 +02:00
Jérôme Leclercq
ae34533595
Minor fixes
2020-09-01 18:47:08 +02:00
Jérôme Leclercq
8d873a8307
Fix a lot of small errors/warnings
2020-08-28 15:42:19 +02:00
Lynix
332278dded
OpenGL: Random stuff I forgot
2020-05-11 14:05:40 +02:00
Lynix
b7a7c84a89
Minor fixes
2020-04-26 18:22:07 +02:00
Lynix
32157503e8
OpenGL: Implement RenderPipelineLayout
2020-04-26 18:21:38 +02:00
Lynix
0b05feb7e3
OpenGL: Implement buffers
2020-04-26 18:20:36 +02:00
Lynix
b4b15f826d
OpenGL: Implement textures
2020-04-19 15:33:56 +02:00
Lynix
349e915e10
OpenGL: Link contexts to device
2020-04-19 15:33:36 +02:00
Lynix
bd6924d66d
OpenGL: Handle Spir-V
2020-04-19 15:31:48 +02:00
Lynix
506099fcd7
OpenGL: Implement ShaderStage
2020-04-19 01:38:38 +02:00
Lynix
5c3eb31d4a
OpenGL: Implement device
2020-04-19 01:36:44 +02:00