aclysma / skulpin

Skia + Vulkan = Skulpin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Equivalent of skulpin for OpenGL

Kethku opened this issue · comments

I've been hearing from a bunch of users that Vulkan (especially on linux) is not very well supported. I was wondering if you had any thoughts about how hard it would be to implement a skulpin equivalent on top of OpenGL. Clearly its no longer the same project, but I figured there would be some learning that would be transferable.

I’m not opposed to expanding the scope of this library to include other renderers. I’m not sure when I’ll have time to do it myself, but I’d be happy to collaborate on this with anyone who’d like to give it a try.

I think it’s very doable for any platform that skia itself supports (includes OpenGL and Metal). I’d also like to see a CPU rendering mode.

I think the renderers should be implemented separately. (i.e. little to no code shared between metal, vulkan, and OpenGL renderers). The renderers won’t be that big, likely won’t change much once they are working, and different platforms have their own quirks. It’s good to be able to fix one without affecting the others.

I may take some time soon to fiddle with an opengl renderer. You ok if I ask questions as I run into them here?

There has also been a request for metal on HN https://news.ycombinator.com/item?id=22178190 However I am unlikely to be able to help in that regard since I don't have a mac machine on hand with a recent gpu

More than happy to help out. We could start a discord or matrix room for quicker communication as well. Or if you have one for your project we could chat there?

I don't have one at the moment. Although I probably should...

Let me get something up and running and if I run into lots of struggles I'll set something up.

I'm closing this as I think its out of scope for either of us to do in spare time

Just documenting in case someone comes along wondering about this, there is a new sample in the skia-safe library for drawing skia to a window via OpenGL. It looks pretty simple to get going.

https://github.com/rust-skia/rust-skia/pull/317/files