Skip to content
This repository has been archived by the owner on Sep 27, 2024. It is now read-only.

Implement bgfx backend #450

Open
AlexvZyl opened this issue Jul 3, 2022 · 3 comments
Open

Implement bgfx backend #450

AlexvZyl opened this issue Jul 3, 2022 · 3 comments
Assignees

Comments

@AlexvZyl
Copy link
Owner

AlexvZyl commented Jul 3, 2022

We can swop out our direct OpenGL calls with bgfx calls which supports all of the backend types (OpenGL, Vulkan, Metal, etc). This will improve the Renderer performance and cross-platform compatibility.

Currently everything is being done with OpenGL, so we will have to refactor shaders, framebuffers, vertexbuffers etc. This should not take too long and the current Renderer API will be kept the same. We will also still keep GraphicsPrimitivesBuffer so that we can keep using FreeLists.

@AlexvZyl AlexvZyl self-assigned this Jul 3, 2022
@AlexvZyl
Copy link
Owner Author

AlexvZyl commented Jul 4, 2022

@Cullen-Enerdyne I think this will work very nicely. We still have the control over graphics and memory we want and can use bgfx to use any API we want, depending on the platform and without having to change anything. In addition to this, we can see how they render text, textures, etc. and see if we want to incorporate it into our engine. I do not think they use MSDF for text, so I might not use their text renderer.

@AlexvZyl
Copy link
Owner Author

AlexvZyl commented Jul 4, 2022

This library is awesome, it even supports multi-threading the renderer and order independent transparency. Implementing this alongside our Entities and FreeLists can make for something very nice.

@AlexvZyl AlexvZyl pinned this issue Jul 4, 2022
@AlexvZyl
Copy link
Owner Author

AlexvZyl commented Jul 5, 2022

Minecraft (bedrock) uses this library for rendering :)

@AlexvZyl AlexvZyl unpinned this issue Jun 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant