Skip to content
New issue

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

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

Already on GitHub? # to your account

Foundations to write a 2D GUI library #13

Open
nockawa opened this issue Sep 15, 2022 · 0 comments
Open

Foundations to write a 2D GUI library #13

nockawa opened this issue Sep 15, 2022 · 0 comments

Comments

@nockawa
Copy link

nockawa commented Sep 15, 2022

I'm currently using ImGui.Net with Vortice for the application I'm working one.
However, Dear ImGui has several imperfections/limitations that frustrate me.

I've wrote several 2D GUI libs in the past, on the top of a game engine and I would like to consider the effort needed to write one for Vortice.
Hopefully you can answer to some of them without me go digging in the source code (lazy of me, but I think it could worth a shot to discuss about this with you).

Text render
Do you have anything so far ? Especially toolkit to create SDF based texture of a font and then a shader that displays text using the SDF texture?

Draw call
How easy/hard would it be for me to generate draw lists with the common features needed for such project:

  • GPU resource creations, how easy it is to create texture, Buffer, Shader, binding based resource, etc.
  • Exposing Scissor / clipping region and other GPU states easily
  • Texture, VS/PS Shader binding with old the basic features coming along with it
  • Possibility to use a dedicated Z buffer and having the entry point to overlay the GUI over the whole 3D viewport

If all the foundations are exposed by Vortice, I could consider writing a GUI on the top of it. It certainly wouldnt be a 2022 thing but could definitely be a Q1 2023 one.
I have to assess how long it would take to create the thin layer on the top of the GPU stuffs in order for me to write the GUI on the top of it, encapsulating the complexity of the GPU rendering.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant