contour icon indicating copy to clipboard operation
contour copied to clipboard

Vulkan rendering frontend

Open christianparpart opened this issue 4 years ago • 10 comments
trafficstars

Vulkan-hpp seems like an amazing c++ API binding and is even official .

Looks like you need LunarG SDK installed? Hopefully only for compiling.

Embedding into Qt: https://doc.qt.io/qt-5/qtgui-hellovulkanwidget-example.html

This ticket serves as tracker.

christianparpart avatar Jul 10 '21 05:07 christianparpart

SDKs are only used for compiling. You use what you need out of it. For optimizing compilations, you'd need to ensure you only build what you need out of the SDK and exclude everything else.

WSLUser avatar Jul 14 '21 14:07 WSLUser

As much as I'd love to have a vulkan renderer in the frontend, I think I should keep focusing on getting the codebase more robust for the current weeks and some features more usable/stable. :)

christianparpart avatar Jul 14 '21 14:07 christianparpart

Yeah, I just was answering your question about the SDK. You still need to optimize DirectX before even considering another renderer (unless somebody else takes a stab at it.)

WSLUser avatar Jul 14 '21 14:07 WSLUser

Yeah, I just was answering your question about the SDK. You still need to optimize DirectX before even considering another renderer (unless somebody else takes a stab at it.)

i don't have a directx renderer yet BUt a DirectDraw backend for the text shaper / font rasterizer; that one needs to finish in order to bring windows port on par with linux/osx. but thinking about it, I believe Vulkan is also possible on Windows. ;)

christianparpart avatar Jul 14 '21 15:07 christianparpart

It's possible for all platforms. But since you've already started down the path for DirectX for Windows, I figured you'd want to finish that first.

WSLUser avatar Jul 14 '21 15:07 WSLUser

So I've discovered Zink, which should help considerably with this and is available in the Mesa package for Linux. Not sure which release got it but 21.x+ at least has it. It should make life much better as it means that Vulkan can be the new rendering front-end but don't have to miss out on features of OpenGL that simply don't exist in other rendering front-ends. I think they have a few Windows issues to deal with still but nothing truly breaking. The point of the project was to increase maintainability and allow developers/projects to more easily adopt Vulkan (such as this one) while keeping some compatibility with older stuff where Vulkan isn't necessarily available due to old hardware or other various factors.

WSLUser avatar Aug 09 '21 20:08 WSLUser

I think SDL2 is a very good replacement for Qt.

data-man avatar Sep 16 '21 15:09 data-man

I think SDL2 is a very good replacement for Qt.

What is the benefit /downsides of SDL over Qt from this project's point of view?

christianparpart avatar Sep 16 '21 18:09 christianparpart

SDL2 Qt
License ZLIB (L)GPL
Easy static linking :heavy_check_mark: :x:
Light :heavy_check_mark: :x:
GLFW :x: :x:
Surprises :x: :heavy_check_mark:

The table can be updated in the future. :smile:

data-man avatar Sep 16 '21 20:09 data-man

https://github.com/albin-johansson/centurion - the best C++ wrapper I knew for SDL2 (C++17/20, header-only).

data-man avatar Oct 01 '21 19:10 data-man