Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modern WGPU based renderer #179

Draft
wants to merge 14 commits into
base: main
Choose a base branch
from
Draft

Modern WGPU based renderer #179

wants to merge 14 commits into from

Conversation

dgavedissian
Copy link
Collaborator

@dgavedissian dgavedissian commented Nov 15, 2023

This PR replaces the existing OpenGL renderer with a WGPU based modern multi-API renderer that supports GL 4.4+, D3D12, Vulkan and Metal.

This PR supersedes the work I already did towards this goal in #15 - will likely pull some changes from that PR.

The goal of this project would be to generally preserve the shaders in their current state, with some minor adjustments like #include syntax, replacing autovars and uniforms with uniform buffers, and rewriting how shaders pass uniforms to make it more efficient. We will likely forgo any stack like behaviour in favour of creating "shader uniform blocks" in Lua which can get updated rather than passing uniforms via Shader_SetX.

fixes: #218

@dgavedissian dgavedissian added the engine Any PR/Issue affiliated with the engine portion of LTR label Nov 18, 2023
@dgavedissian
Copy link
Collaborator Author

My focus is going to be on #293 first. I'm probably going to take a bunch of work from this branch into that one, such as the immediate mode geometry generator, and the matrix stack. Once that work is completed, I will then rebase the work done in this branch to get WGPU up and running. I'll leave this open as a draft.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
engine Any PR/Issue affiliated with the engine portion of LTR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Modernize Renderer
1 participant