Skip to content

Commit 0d0ed17

Browse files
committed
Add Dynamic Uniform Buffer
1 parent 70600fd commit 0d0ed17

File tree

14 files changed

+2959
-52
lines changed

14 files changed

+2959
-52
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
cmake_minimum_required(VERSION 3.30)
2+
3+
#################################################################################
4+
#### Set up the vcpkg toolchain, which must be done before the project() function.
5+
# You can also set it up by default through the CMakePresets.json file
6+
# requires the VCPKG_ROOT environment variable
7+
# The TO_CMAKE_PATH here is used to convert back slashes to forward slashes
8+
file(TO_CMAKE_PATH "$ENV{VCPKG_ROOT}" VCPKG_CMAKE_PATH)
9+
set(CMAKE_TOOLCHAIN_FILE "${VCPKG_CMAKE_PATH}/scripts/buildsystems/vcpkg.cmake")
10+
#################################################################################
11+
12+
project(HelloVulkan LANGUAGES CXX)
13+
14+
set(CMAKE_CXX_STANDARD 20)
15+
16+
#################################################################################
17+
#### Search for Vulkan package.
18+
# CMake provides FindVulkan support, but requires the VULKAN_SDK environment variable
19+
# Setting by default during Vulkan SDK installation, such as E: \ Vulkan \ 1.4.309.0
20+
find_package(Vulkan REQUIRED)
21+
#################################################################################
22+
23+
#################################################################################
24+
#### add_executable
25+
# Import third-party libraries through vcpkg
26+
find_package(glfw3 CONFIG REQUIRED)
27+
find_package(glm CONFIG REQUIRED)
28+
find_package(Stb REQUIRED)
29+
find_package(tinyobjloader CONFIG REQUIRED)
30+
31+
# Add executable program targets
32+
add_executable(${PROJECT_NAME} src/main.cpp)
33+
34+
target_link_libraries(${PROJECT_NAME} PRIVATE Vulkan::Vulkan )
35+
target_link_libraries(${PROJECT_NAME} PRIVATE glm::glm )
36+
target_link_libraries(${PROJECT_NAME} PRIVATE glfw )
37+
target_include_directories(${PROJECT_NAME} PRIVATE ${Stb_INCLUDE_DIR})
38+
target_link_libraries(${PROJECT_NAME} PRIVATE tinyobjloader::tinyobjloader)
39+
#################################################################################
40+
41+
#################################################################################
42+
#### shaders
43+
add_subdirectory(shaders)
44+
#################################################################################

0 commit comments

Comments
 (0)