vulkan linux qt,LearnVulkan: Learn Vulkan. Advanced examples of Vulkan, QT, CUDA, OpenCV for Linux a...

LearnVulkan

😀This project is mainly faced to GUI engineering applications and advanced backend computing, such as X11, Qt, ffmpeg, OpenCV, CUDA and so on. Combining Vulkan with engineering applications, not a pure demo.

Planned Application Areas:

Imaging Proceessing of Vulkan😁

Medical Imaging of Vulkan😂

Vulkan on Qt (GAMES)🤣

Vulkan on XWindow (GAMES)😃

Vulkan with CUDA😅

Vulkan server rendering with ffmpeg😆

What is more than SaschaWillems's Project

This project is partly based on SaschaWillems's Project, add some functions of cross-platform window operation , deleted MFC code of the main function(WinMain), and provides a unified interface api for cross-platform.

Use sharelib (libvulkanbase.so, libvulkan_basicengine.so) instead of static lib.

Sharelib : ✅

Supported System : Linux & Windows

PNG and JPEG Texture Load : ✅ (Auto turn to RGBA8 format)

Volume Texture3d Load : ⭕ (Will support nii and raw data)

Auto Mipmap-Gen : ✅

Qt-binding(vulkan widget) : ✅

Relative path and absolute path management for IDE : ✅

Basic object template(Ball & Square & Cube and so on) : ⭕

For examples of cross-platform api:

int main(int argc,char** argv){

bool debug=false;

StaticTriangle* pVulkan=new StaticTriangle(debug);

pVulkan->initVulkan();

pVulkan->initWindow();

pVulkan->prepare();

pVulkan->renderLoop();

delete pVulkan;

return 1;

}

output.gif

The libvulkan_basicengine.so also integrates 'stb_image' from https://github.com/JoeyDeVries/LearnOpenGL, supporting jpg and png image loading, and you don't need to generate ktx images for Vulkan Texture now. See 'vulkan_basicengine_texture.h'.

Finally, welcome to clone or fork my project, remember to star if you consider my project is quite good.

Requirements

Supported System:

Now: Linux(Mainly) Windows(Partly)

Planned supported: Mac(I have successfully installed black Apple) Android IOS

Libraries and Tools

CMake: 3.14+ is recommended

Vulkan: 1.1.121+

Glm: 0.9.9+

Xcb & Xlib (Linux needs)

GLFW3

OpenCV: 4.0+ (Some projects need)

CUDA: 10.0+ (Some projects need)

Qt: 5.12+ (Some projects need)

C/C++ Compiler

GCC 7+ using -std=c++17

MSVC 2017

Download

git clone https://github.com/engineer1109/LearnVulkan.git --depth=1

'--depth=1' will reduce the download size of repo.

Compile & BUILD

For Linux/UNIX

Compile

cmake ..

make

make install

The programs will be installed in the {PROJECT_DIR}/bin .

For Qt

cmake .. -DBUILD_QtExamples=ON

For Windows

Compile

cmake -G "Visual Studio 15 2017 Win64" -T host=x64 ..

cmake --build . --config Release

cmake --build . --config Release --target INSTALL

The programs will be installed in the {PROJECT_DIR}/Release .

PLANS

Simple Examples (80%) (Only need Vulkan)

01_StaticTriangle

02_StaticCube

03_Texture2dCube

04_MultiImageSampler

05_MultiObjects

06_Lighting

07_MipmapGen

08_InstanceDraw

09_VolumeCloud

Advanced Examples (20%) (Need Assimp)

01_Skybox

02_ReflectSky

Qt Vulkan (20%) (Need Qt, some need assimp)

01_QtTriangle

02_FramelessVulkan

Cuda and Vulkan

X11 and Vulkan

Vulkan and deep learning

Vulkan Server Rendering

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值