gl_vk_chopper 开源项目教程
gl_vk_chopperSimple vulkan rendering example.项目地址:https://gitcode.com/gh_mirrors/gl/gl_vk_chopper
1. 项目的目录结构及介绍
gl_vk_chopper/
├── README.md
├── CMakeLists.txt
├── include/
│ ├── VkeScreenQuad.h
│ ├── VkeTerrainQuad.h
│ ├── VkeTexture.h
│ ├── VkeVBO.h
│ ├── VulkanAppContext.h
│ └── VulkanDeviceContext.h
├── src/
│ ├── VkeScreenQuad.cpp
│ ├── VkeTerrainQuad.cpp
│ ├── VkeTexture.cpp
│ ├── VkeVBO.cpp
│ ├── VulkanAppContext.cpp
│ └── VulkanDeviceContext.cpp
├── models/
│ └── chopper.obj
├── textures/
│ └── texture.png
└── shaders/
├── vertex.glsl
└── fragment.glsl
- README.md: 项目说明文件,包含项目的基本介绍和使用方法。
- CMakeLists.txt: 用于构建项目的CMake配置文件。
- include/: 包含项目的头文件,定义了各种类和函数接口。
- src/: 包含项目的源文件,实现了头文件中定义的类和函数。
- models/: 存放项目的3D模型文件。
- textures/: 存放项目的纹理文件。
- shaders/: 存放项目的着色器文件。
2. 项目的启动文件介绍
项目的启动文件是 src/VulkanAppContext.cpp
,该文件包含了项目的主入口函数 main()
,负责初始化Vulkan实例、设备、队列等核心组件,并启动渲染循环。
int main() {
VulkanAppContext app;
app.initVulkan();
app.mainLoop();
app.cleanup();
return 0;
}
- initVulkan(): 初始化Vulkan实例、设备、队列等。
- mainLoop(): 启动渲染循环,处理每一帧的渲染任务。
- cleanup(): 清理资源,释放Vulkan实例和设备。
3. 项目的配置文件介绍
项目的配置文件是 CMakeLists.txt
,该文件定义了项目的构建规则和依赖项。
cmake_minimum_required(VERSION 3.10)
project(gl_vk_chopper)
set(CMAKE_CXX_STANDARD 17)
add_executable(gl_vk_chopper
src/VkeScreenQuad.cpp
src/VkeTerrainQuad.cpp
src/VkeTexture.cpp
src/VkeVBO.cpp
src/VulkanAppContext.cpp
src/VulkanDeviceContext.cpp
)
target_include_directories(gl_vk_chopper PUBLIC include)
find_package(Vulkan REQUIRED)
target_link_libraries(gl_vk_chopper Vulkan::Vulkan)
- cmake_minimum_required(VERSION 3.10): 指定所需的CMake最低版本。
- project(gl_vk_chopper): 定义项目名称。
- set(CMAKE_CXX_STANDARD 17): 设置C++标准为C++17。
- add_executable(): 定义可执行文件及其源文件。
- target_include_directories(): 指定头文件目录。
- find_package(Vulkan REQUIRED): 查找并链接Vulkan库。
- target_link_libraries(): 链接Vulkan库到项目。
gl_vk_chopperSimple vulkan rendering example.项目地址:https://gitcode.com/gh_mirrors/gl/gl_vk_chopper