Skip to content

Commit 5a7e535

Browse files
committed
Add Comments System
1 parent cf625d3 commit 5a7e535

File tree

175 files changed

+4825
-1905
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

175 files changed

+4825
-1905
lines changed

CMakeLists.txt

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.30)
1+
cmake_minimum_required(VERSION 4.0.0)
22

33
#################################################################################
4-
#### Set up the vcpkg toolchain, which must be done before the project() function.
4+
#### Set up the vcpkg toolchain, which must be done before the project() function.
55
# You can also set it up by default through the CMakePresets.json file
66
# requires the VCPKG_ROOT environment variable
77
# The TO_CMAKE_PATH here is used to convert back slashes to forward slashes
@@ -12,29 +12,30 @@ set(CMAKE_TOOLCHAIN_FILE "${VCPKG_CMAKE_PATH}/scripts/buildsystems/vcpkg.cmake")
1212
project(HelloVulkan LANGUAGES CXX)
1313

1414
set(CMAKE_CXX_STANDARD 20)
15+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
1516

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-
#################################################################################
2217

23-
#################################################################################
24-
#### add_executable
25-
# Import third-party libraries through vcpkg
18+
include(cmake/VulkanHppModule.cmake)
19+
2620
find_package(glfw3 CONFIG REQUIRED)
2721
find_package(glm CONFIG REQUIRED)
22+
find_package(Stb REQUIRED)
23+
find_package(tinyobjloader CONFIG REQUIRED)
2824

29-
# Add executable program targets
30-
add_executable(${PROJECT_NAME} src/main.cpp)
25+
file(GLOB_RECURSE MODULE_SOURCES src/*.cppm)
3126

32-
target_link_libraries(${PROJECT_NAME} PRIVATE Vulkan::Vulkan )
33-
target_link_libraries(${PROJECT_NAME} PRIVATE glm::glm )
34-
target_link_libraries(${PROJECT_NAME} PRIVATE glfw )
35-
#################################################################################
27+
# Add executable program targets
28+
add_executable( main src/main.cpp )
29+
target_sources( main PRIVATE
30+
FILE_SET CXX_MODULES
31+
FILES ${MODULE_SOURCES}
32+
)
33+
34+
target_link_libraries(main PRIVATE VulkanHppModule )
35+
target_link_libraries(main PRIVATE glm::glm)
36+
target_link_libraries(main PRIVATE glfw )
37+
target_include_directories(main PRIVATE ${Stb_INCLUDE_DIR})
38+
target_link_libraries(main PRIVATE tinyobjloader::tinyobjloader)
3639

37-
#################################################################################
38-
#### shaders
3940
add_subdirectory(shaders)
40-
#################################################################################
41+

CMakePresets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": 6,
2+
"version": 10,
33
"configurePresets": [
44
{
55
"name": "ninja-base",

cmake/VulkanHppModule.cmake

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# VulkanHppModule.cmake
2+
if(NOT TARGET VulkanHppModule)
3+
4+
find_package(Vulkan REQUIRED)
5+
message("Vulkan SDK version : ${Vulkan_VERSION}")
6+
if(${Vulkan_VERSION} VERSION_LESS "1.4.0")
7+
message(FATAL_ERROR "Vulkan SDK too old (required ≥ 1.4.0)")
8+
endif()
9+
10+
add_library( VulkanHppModule )
11+
12+
target_sources(VulkanHppModule PUBLIC
13+
FILE_SET CXX_MODULES
14+
BASE_DIRS ${Vulkan_INCLUDE_DIR}
15+
FILES ${Vulkan_INCLUDE_DIR}/vulkan/vulkan.cppm
16+
)
17+
target_link_libraries( VulkanHppModule PRIVATE Vulkan::Vulkan )
18+
target_link_libraries( VulkanHppModule PUBLIC Vulkan::Headers )
19+
20+
target_compile_definitions(VulkanHppModule PUBLIC
21+
VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=1
22+
)
23+
endif()

docs/codes/00/01_env/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.30)
1+
cmake_minimum_required(VERSION 4.0.0)
22

33
#################################################################################
44
#### Set up the vcpkg toolchain, which must be done before the project() function.

docs/codes/00/01_env/CMakePresets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": 6,
2+
"version": 10,
33
"configurePresets": [
44
{
55
"name": "ninja-base",

docs/codes/01/00_base/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.30)
1+
cmake_minimum_required(VERSION 4.0.0)
22

33
#################################################################################
44
#### Set up the vcpkg toolchain, which must be done before the project() function.

docs/codes/01/01_instance/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class HelloTriangleApplication {
6565
1, // applicationVersion
6666
"No Engine", // pEngineName
6767
1, // engineVersion
68-
VK_API_VERSION_1_4 // apiVersion
68+
vk::makeApiVersion(0, 1, 4, 0) // apiVersion
6969
);
7070

7171
vk::InstanceCreateInfo createInfo(
@@ -78,7 +78,7 @@ class HelloTriangleApplication {
7878
glfwExtensions = glfwGetRequiredInstanceExtensions(&glfwExtensionCount);
7979
std::vector<const char*> requiredExtensions( glfwExtensions, glfwExtensions + glfwExtensionCount );
8080

81-
requiredExtensions.emplace_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME);
81+
requiredExtensions.emplace_back(vk::KHRPortabilityEnumerationExtensionName);
8282

8383
createInfo.setPEnabledExtensionNames( requiredExtensions );
8484
createInfo.flags |= vk::InstanceCreateFlagBits::eEnumeratePortabilityKHR;

docs/codes/01/01_instance/main.diff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ index 28b69ae..334c6ed 100644
3838
+ 1, // applicationVersion
3939
+ "No Engine", // pEngineName
4040
+ 1, // engineVersion
41-
+ VK_API_VERSION_1_4 // apiVersion
41+
+ vk::makeApiVersion(0, 1, 4, 0) // apiVersion
4242
+ );
4343
+
4444
+ vk::InstanceCreateInfo createInfo(
@@ -51,7 +51,7 @@ index 28b69ae..334c6ed 100644
5151
+ glfwExtensions = glfwGetRequiredInstanceExtensions(&glfwExtensionCount);
5252
+ std::vector<const char*> requiredExtensions( glfwExtensions, glfwExtensions + glfwExtensionCount );
5353
+
54-
+ requiredExtensions.emplace_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME);
54+
+ requiredExtensions.emplace_back(vk::KHRPortabilityEnumerationExtensionName);
5555

5656
-
5757
+ createInfo.setPEnabledExtensionNames( requiredExtensions );

docs/codes/01/02_validation/main.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ class HelloTriangleApplication {
8181
std::vector<const char*> extensions(glfwExtensions, glfwExtensions + glfwExtensionCount);
8282

8383
if (enableValidationLayers) {
84-
extensions.emplace_back( VK_EXT_DEBUG_UTILS_EXTENSION_NAME );
84+
extensions.emplace_back( vk::EXTDebugUtilsExtensionName );
8585
}
86-
extensions.emplace_back( VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME );
86+
extensions.emplace_back( vk::KHRPortabilityEnumerationExtensionName );
8787

8888
return extensions;
8989
}
@@ -97,7 +97,7 @@ class HelloTriangleApplication {
9797
1, // applicationVersion
9898
"No Engine", // pEngineName
9999
1, // engineVersion
100-
VK_API_VERSION_1_4 // apiVersion
100+
vk::makeApiVersion(0, 1, 4, 0) // apiVersion
101101
);
102102

103103
vk::InstanceCreateInfo createInfo(

docs/codes/01/02_validation/main.diff

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ index 334c6ed..a61fb67 100644
5858
+ std::vector<const char*> extensions(glfwExtensions, glfwExtensions + glfwExtensionCount);
5959
+
6060
+ if (enableValidationLayers) {
61-
+ extensions.emplace_back( VK_EXT_DEBUG_UTILS_EXTENSION_NAME );
61+
+ extensions.emplace_back( vk::EXTDebugUtilsExtensionName );
6262
+ }
63-
+ extensions.emplace_back( VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME );
63+
+ extensions.emplace_back( vk::KHRPortabilityEnumerationExtensionName );
6464
+
6565
+ return extensions;
6666
+ }
@@ -81,7 +81,7 @@ index 334c6ed..a61fb67 100644
8181
- glfwExtensions = glfwGetRequiredInstanceExtensions(&glfwExtensionCount);
8282
- std::vector<const char*> requiredExtensions( glfwExtensions, glfwExtensions + glfwExtensionCount );
8383
-
84-
- requiredExtensions.emplace_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME);
84+
- requiredExtensions.emplace_back(vk::KHRPortabilityEnumerationExtensionName);
8585
-
8686
+ std::vector<const char*> requiredExtensions = getRequiredExtensions();
8787
+ // special setter

0 commit comments

Comments
 (0)