Skip to content

Commit ffd2cdc

Browse files
committed
Add depth buffer and correct err
1 parent c0bc6de commit ffd2cdc

File tree

23 files changed

+2984
-53
lines changed

23 files changed

+2984
-53
lines changed

docs/codes/0400_texture/main.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1132,16 +1132,16 @@ class HelloTriangleApplication {
11321132
imageInfo.samples = vk::SampleCountFlagBits::e1;
11331133
imageInfo.sharingMode = vk::SharingMode::eExclusive;
11341134

1135-
m_textureImage = m_device.createImage(imageInfo);
1135+
image = m_device.createImage(imageInfo);
11361136

1137-
vk::MemoryRequirements memRequirements = m_textureImage.getMemoryRequirements();
1137+
vk::MemoryRequirements memRequirements = image.getMemoryRequirements();
11381138
vk::MemoryAllocateInfo allocInfo;
11391139
allocInfo.allocationSize = memRequirements.size;
11401140
allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties);
11411141

1142-
m_textureImageMemory = m_device.allocateMemory(allocInfo);
1142+
imageMemory = m_device.allocateMemory(allocInfo);
11431143

1144-
m_textureImage.bindMemory(m_textureImageMemory, 0);
1144+
image.bindMemory(imageMemory, 0);
11451145
}
11461146
void transitionImageLayout(
11471147
vk::raii::Image& image,

docs/codes/0400_texture/main.diff

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,16 +120,16 @@ index 2e9de97..7feb5bb 100644
120120
+ imageInfo.samples = vk::SampleCountFlagBits::e1;
121121
+ imageInfo.sharingMode = vk::SharingMode::eExclusive;
122122
+
123-
+ m_textureImage = m_device.createImage(imageInfo);
123+
+ image = m_device.createImage(imageInfo);
124124
+
125-
+ vk::MemoryRequirements memRequirements = m_textureImage.getMemoryRequirements();
125+
+ vk::MemoryRequirements memRequirements = image.getMemoryRequirements();
126126
+ vk::MemoryAllocateInfo allocInfo;
127127
+ allocInfo.allocationSize = memRequirements.size;
128128
+ allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties);
129129
+
130-
+ m_textureImageMemory = m_device.allocateMemory(allocInfo);
130+
+ imageMemory = m_device.allocateMemory(allocInfo);
131131
+
132-
+ m_textureImage.bindMemory(m_textureImageMemory, 0);
132+
+ image.bindMemory(imageMemory, 0);
133133
+ }
134134
+ void transitionImageLayout(
135135
+ vk::raii::Image& image,

docs/codes/0401_sampler/main.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1129,16 +1129,16 @@ class HelloTriangleApplication {
11291129
imageInfo.samples = vk::SampleCountFlagBits::e1;
11301130
imageInfo.sharingMode = vk::SharingMode::eExclusive;
11311131

1132-
m_textureImage = m_device.createImage(imageInfo);
1132+
image = m_device.createImage(imageInfo);
11331133

1134-
vk::MemoryRequirements memRequirements = m_textureImage.getMemoryRequirements();
1134+
vk::MemoryRequirements memRequirements = image.getMemoryRequirements();
11351135
vk::MemoryAllocateInfo allocInfo;
11361136
allocInfo.allocationSize = memRequirements.size;
11371137
allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties);
11381138

1139-
m_textureImageMemory = m_device.allocateMemory(allocInfo);
1139+
imageMemory = m_device.allocateMemory(allocInfo);
11401140

1141-
m_textureImage.bindMemory(m_textureImageMemory, 0);
1141+
image.bindMemory(imageMemory, 0);
11421142
}
11431143
void transitionImageLayout(
11441144
vk::raii::Image& image,

docs/codes/0402_combined/main.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -859,7 +859,7 @@ class HelloTriangleApplication {
859859
return attributeDescriptions;
860860
}
861861
};
862-
const std::vector<Vertex> vertices = {
862+
inline static const std::vector<Vertex> vertices = {
863863
{{-0.5f, -0.5f}, {1.0f, 0.0f, 0.0f}, {1.0f, 0.0f}},
864864
{{0.5f, -0.5f}, {0.0f, 1.0f, 0.0f}, {0.0f, 0.0f}},
865865
{{0.5f, 0.5f}, {0.0f, 0.0f, 1.0f}, {0.0f, 1.0f}},
@@ -1155,16 +1155,16 @@ class HelloTriangleApplication {
11551155
imageInfo.samples = vk::SampleCountFlagBits::e1;
11561156
imageInfo.sharingMode = vk::SharingMode::eExclusive;
11571157

1158-
m_textureImage = m_device.createImage(imageInfo);
1158+
image = m_device.createImage(imageInfo);
11591159

1160-
vk::MemoryRequirements memRequirements = m_textureImage.getMemoryRequirements();
1160+
vk::MemoryRequirements memRequirements = image.getMemoryRequirements();
11611161
vk::MemoryAllocateInfo allocInfo;
11621162
allocInfo.allocationSize = memRequirements.size;
11631163
allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties);
11641164

1165-
m_textureImageMemory = m_device.allocateMemory(allocInfo);
1165+
imageMemory = m_device.allocateMemory(allocInfo);
11661166

1167-
m_textureImage.bindMemory(m_textureImageMemory, 0);
1167+
image.bindMemory(imageMemory, 0);
11681168
}
11691169
void transitionImageLayout(
11701170
vk::raii::Image& image,

docs/codes/0402_combined/main.diff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ index 095aa48..e0b70f0 100644
3838
- {{0.5f, -0.5f}, {0.0f, 1.0f, 0.0f}},
3939
- {{0.5f, 0.5f}, {0.0f, 0.0f, 1.0f}},
4040
- {{-0.5f, 0.5f}, {1.0f, 1.0f, 1.0f}}
41-
+ const std::vector<Vertex> vertices = {
41+
+ inline static const std::vector<Vertex> vertices = {
4242
+ {{-0.5f, -0.5f}, {1.0f, 0.0f, 0.0f}, {1.0f, 0.0f}},
4343
+ {{0.5f, -0.5f}, {0.0f, 1.0f, 0.0f}, {0.0f, 0.0f}},
4444
+ {{0.5f, 0.5f}, {0.0f, 0.0f, 1.0f}, {0.0f, 1.0f}},
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
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+
30+
# Add executable program targets
31+
add_executable(${PROJECT_NAME} src/main.cpp)
32+
33+
target_link_libraries(${PROJECT_NAME} PRIVATE Vulkan::Vulkan )
34+
target_link_libraries(${PROJECT_NAME} PRIVATE glm::glm )
35+
target_link_libraries(${PROJECT_NAME} PRIVATE glfw )
36+
target_include_directories(${PROJECT_NAME} PRIVATE ${Stb_INCLUDE_DIR})
37+
#################################################################################
38+
39+
#################################################################################
40+
#### shaders
41+
add_subdirectory(shaders)
42+
#################################################################################

0 commit comments

Comments
 (0)