开源项目 gl_vk_threaded_cadscene
使用教程
1. 项目的目录结构及介绍
gl_vk_threaded_cadscene/
├── doc/
├── CMakeLists.txt
├── CONTRIBUTING
├── LICENSE
├── README.md
├── animation.comp.glsl
├── cadscene.cpp
├── cadscene.hpp
├── cadscene_gl.cpp
├── cadscene_gl.hpp
├── cadscene_vk.cpp
├── cadscene_vk.hpp
├── common.h
├── csf.cpp
├── csfthreaded.cpp
├── renderer.cpp
├── renderer.hpp
├── renderer_gl.cpp
├── renderer_glcmd.cpp
├── renderer_vk.cpp
├── rendererthread_glcmd.cpp
├── rendererthread_vk.cpp
├── resources.hpp
├── resources_gl.cpp
├── resources_gl.hpp
├── resources_vk.cpp
├── resources_vk.hpp
├── scene.frag.glsl
├── scene.vert.glsl
├── threadpool.cpp
├── threadpool.hpp
└── vk_initlib.cpp
目录结构介绍
doc/
: 包含项目文档。CMakeLists.txt
: 用于构建项目的CMake配置文件。CONTRIBUTING
: 贡献指南。LICENSE
: 项目许可证。README.md
: 项目说明文档。animation.comp.glsl
: 动画着色器文件。cadscene.cpp
和cadscene.hpp
: CAD场景的实现和头文件。cadscene_gl.cpp
和cadscene_gl.hpp
: 使用OpenGL渲染CAD场景的实现和头文件。cadscene_vk.cpp
和cadscene_vk.hpp
: 使用Vulkan渲染CAD场景的实现和头文件。common.h
: 通用头文件。csf.cpp
和csfthreaded.cpp
: 场景文件处理相关文件。renderer.cpp
和renderer.hpp
: 渲染器实现和头文件。renderer_gl.cpp
和renderer_glcmd.cpp
: 使用OpenGL渲染器的实现文件。renderer_vk.cpp
: 使用Vulkan渲染器的实现文件。rendererthread_glcmd.cpp
和rendererthread_vk.cpp
: 线程渲染器的实现文件。resources.hpp
: 资源头文件。resources_gl.cpp
和resources_gl.hpp
: 使用OpenGL的资源实现和头文件。resources_vk.cpp
和resources_vk.hpp
: 使用Vulkan的资源实现和头文件。scene.frag.glsl
和scene.vert.glsl
: 场景着色器文件。threadpool.cpp
和threadpool.hpp
: 线程池实现和头文件。vk_initlib.cpp
: Vulkan初始化库文件。
2. 项目的启动文件介绍
项目的启动文件主要是 cadscene_gl.cpp
和 cadscene_vk.cpp
,这两个文件分别负责使用OpenGL和Vulkan渲染CAD场景。
cadscene_gl.cpp
该文件包含了使用OpenGL渲染CAD场景的主要逻辑和初始化代码。
cadscene_vk.cpp
该文件包含了使用Vulkan渲染CAD场景的主要逻辑和初始化代码。
3. 项目的配置文件介绍
项目的配置文件主要是 CMakeLists.txt
,该文件用于配置和构建项目。
CMakeLists.txt
该文件包含了项目的构建配置,如库的链接、编译选项、源文件列表等。通过该文件,可以使用CMake工具生成相应的构建系统(如Makefile或Visual Studio项目文件)。
# CMake配置文件示例
cmake_minimum_required(VERSION 3.10)
project(gl_vk_threaded_cadscene)
# 设置编译选项
set(CMAKE_CXX_STANDARD 11)
# 添加源文件
set(SOURCE_FILES
cadscene.cpp
cadscene.hpp
cadscene_gl.cpp
cadscene_gl.hpp
cadscene_vk.cpp
cadscene_vk.hpp
# 其他源文件...
)
#