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

First Sketch of a possible Magnum::Vk (Vulkan Target) #202

Closed
wants to merge 61 commits into from

Conversation

Squareys
Copy link
Contributor

@Squareys Squareys commented May 9, 2017

Hello everybody!

This PR is the first failed, but educational attempt at sketching out Vulkan support for Magnum.

Background

Over the past year I worked on a project for my Bachelors degree at University: "Optimizing Rendering of Graph Based Tree Models", which included an implementation of the tree rendering in Vulkan. To have a common framework for that and the GL implementation, I based the project on Magnum and tried to sketch some first lines of Magnum::Vk.

Result

The conclusion is that (especially since there a a couple of good C++ Vulkan APIs out there), the Vulkan support in Magnum will start out as a set of utilities rather than fully wrapping Vulkan as it does for GL, since it is hard to maintain Vulkans flexibility in such a wrapper. (@mosra correct me if I'm wrong :) )

This Pullrequest

After a couple of months the focus of my project had to shift towards actually rendering trees, hence the commits towards the end are rather hasty "WIP". Test coverage is close to zero and the documentation coverage is similarly bad. The changes were really intended to just be a sketch to start over from later.

Cheers, Jonathan.

PS: I still have an example (which probably doesn't compile anymore) and the tree shader implementation (of which I don't know whether I am allowed to open source it). If anybody is interested in one of those, go ahead and leave a comment.

Squareys and others added 30 commits January 12, 2017 11:41
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
TODO: Add to FindMagnum.cmake

Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
 * Buffer
 * Command
 * CommandBuffer
 * Device & PhysicalDevice
 * DeviceMemory
 * Framebuffer
 * Image & ImageView
 * Shader
 * Semaphore
 * Swapchain
 * RenderPass
 * Queue

Signed-off-by: Squareys <Squareys@googlemail.com>
I hope this concludes this git dilemma :P

Signed-off-by: Squareys <squareys@googlemail.com>
Got lost during some git difficulties

Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
…torSet

Signed-off-by: Squareys <squareys@googlemail.com>

More WIP

Signed-off-by: Squareys <squareys@googlemail.com>

WIP

Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
…ange

Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Squareys and others added 26 commits January 12, 2017 11:41
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Since may not be initialized (for Vulkan).

Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Why? Why did I write that line like that?

Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Squareys <Squareys@googlemail.com>
Signed-off-by: Jonathan Hale <jonathan.hale@knime.com>
@Squareys Squareys closed this May 9, 2017
@mosra mosra added this to In Progress in Vulkan Jan 6, 2018
@mosra mosra added this to the 2018.0b milestone Feb 15, 2018
@mosra mosra moved this from In Progress to Done in Vulkan Dec 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Vulkan
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

2 participants