rtbo / gfx-d

A graphics library for D
16 stars 4 forks source link

Provide high level API #6

Open rtbo opened 5 years ago

rtbo commented 5 years ago

It is intended to provide a high level API on top of Graal. This API should make writing code easy (Graal is just as complicated as Vulkan, just a little less verbose), but still enable power and flexibility. This issue is about discussing/gathering specifications for this API.

chances commented 4 years ago

I've been implementing my own Vulkan-based game engine in D, but just discovered this project. It seems like you're quite a lot further along with this abstraction. 😄️

I'm going to investigate swapping out my Vulkan implementation with your library...


Regarding higher level swapchain creation, what of something like my abstraction?

rtbo commented 4 years ago

@chances First, thanks for your interest in this project!

I've started something similar in spirit: The GraphicsSurface class manages its own swapchain and some data per image in the swapchain. (still WIP) Your swapchain abstraction goes a little bit further:

I'm not so sure yet how to move forward. On thing is sure: I can't assume anything about the attachement layout (e.g. color + depth). But I may pass attachment description and use this to manage renderpass and framebuffer.

I have a fairly complex example (deferred), with multiple passes and framebuffers. This will be a good crash test for this API.