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

Can Veldrid help to simplify graphics API abstraction code? #59

Closed
tebjan opened this issue Aug 6, 2018 · 6 comments
Closed

Can Veldrid help to simplify graphics API abstraction code? #59

tebjan opened this issue Aug 6, 2018 · 6 comments

Comments

@tebjan
Copy link
Member

tebjan commented Aug 6, 2018

Veldrid looks like a very promising project and could help with graphics api abstraction:
https://github.com/mellinoe/veldrid

not sure if it supports as much as in here:
https://github.com/xenko3d/xenko/tree/master/sources/engine/Xenko.Graphics

but it might still be of help? and maybe @mellinoe is even able to jump in?

@mellinoe
Copy link

mellinoe commented Aug 6, 2018

(Oops, didn't see which repo this was posted in)

Veldrid's abstraction is pretty similar to Xenko's, from what I see. If you were building something from scratch, it would make more sense to build on top of an abstraction like Veldrid's, but given that the code in here is already written and tested, etc. there's probably very little to be gained by rewriting it.

@xen2
Copy link
Member

xen2 commented Aug 6, 2018

Interesting, didn't know this project!
Looks like they have many abstractions similar to D3D12/Vulkan just like we did, such as ResourceSet.

It probably need a careful check/inspection to see if all the custom internal needs we have are available (if we end up having to customize it a lot to the point it's almost a separate fork, there is no point).

Still, lot of work and so many other things to do, so I don't expect this to be checked/happen anytime soon, but when things settle down little bit I will try to keep it in mind and take a closer look at it.

@mellinoe I am curious, how did you generate the OpenGL binding? I wanted to get rid of OpenTK at some point (huge dll, no big improvements in sight, and we mostly need only bindings).

@mellinoe
Copy link

mellinoe commented Aug 6, 2018

@xen2 I've actually written the OpenGL bindings by hand. I figured that the number of functions I was actually interested in calling was small compared to the entire set. I believe MonoGame is doing something similar -- just importing what they need. I was never all that interested in the other parts of OpenTK, so I didn't need them either.

@tebjan
Copy link
Member Author

tebjan commented Aug 6, 2018

i see, as it is overlapping quite a lot, it would need a comparison by feature. since xenko bindings run fine and having them in the repo makes it more easy to change/add features.

however, picking only the OpenGL methods needed as in #68 sounds like a good plan for mobile.

@xen2
Copy link
Member

xen2 commented Aug 6, 2018

@tebjan Agree, it won't replace Xenko Graphics code as it is quite tailored to our need and it evolves quite a lot,
I was mostly interested to look into it for specific parts/improvements (such as #68 as you mentioned).

@tebjan
Copy link
Member Author

tebjan commented Aug 6, 2018

i'd consider this closed then since veldrid is currently not an option.

@tebjan tebjan closed this as completed Aug 6, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants