capy icon indicating copy to clipboard operation
capy copied to clipboard

feature: support for graphics APIs

Open Catniped opened this issue 7 months ago • 4 comments

vulkan/opengl/wgpu/ ...

Catniped avatar May 01 '25 08:05 Catniped

That's a good idea! But the main problem is cross-platform compatibility: OpenGL used to be the common denominator, but macOS has deprecated it. Vulkan is also not compatible everywhere and is massively more complicated to use compared to OpenGL. So I'm open for ideas on what APIs to implement and how to do it.

zenith391 avatar May 18 '25 11:05 zenith391

webgpu would propably be the best choice, it is cross platform, modern, and easier to work with than vulkan, also seems to be the second most used graphics api in the zig/gamedev community after opengl. opengl is still widely used so thats an okay choice too? as for how one would go about implementing these, youre gonna have to ask someone else, as im not knowledgeable enough about these D:

Catniped avatar May 18 '25 11:05 Catniped

This about getting an API context to do normal rendering stuff or am I reading it wrong? Cause I've been looking for a UI library that actually works well with Zig -ImGui is a pain to setup, Gtk and Nuklear don't work properly on Zig unless I'm just stupid, and Qt is just bad- and Capy here looks pretty good, but I need it to support a viewport and I don't see anything like that in the examples, again unless I'm just stupid.

I'm only doing OpenGL right now but I do wanna switch to Vulkan eventually or WebGPU if I dim it good enough for my needs which it most likely is

ChloeZamorano avatar Jul 12 '25 19:07 ChloeZamorano

This about getting an API context to do normal rendering stuff or am I reading it wrong? Cause I've been looking for a UI library that actually works well with Zig -ImGui is a pain to setup, Gtk and Nuklear don't work properly on Zig unless I'm just stupid, and Qt is just bad- and Capy here looks pretty good, but I need it to support a viewport and I don't see anything like that in the examples, again unless I'm just stupid.

I'm only doing OpenGL right now but I do wanna switch to Vulkan eventually or WebGPU if I dim it good enough for my needs which it most likely is

Yup that's what this is about! What's likelier is that I might provide support for optionally bundling ANGLE and using it in Capy, although it depends on the build process not being too complex. This will expose an OpenGL ES 3.0 API which ought to be compatible with all platforms, be it desktop, mobile or web.

zenith391 avatar Jul 25 '25 11:07 zenith391