Compare commits

...

21 Commits

Author SHA1 Message Date
8b95861011
Replaced unique_ptr with optionals for cache locality, Created a CreateImageView func, and Implimented MSAA using a Color Buffer
All checks were successful
ci/woodpecker/push/woodpecker.json Pipeline was successful
2024-07-19 17:00:24 -04:00
0485a75de3
Implimented a Successful Rebuilding of the Swapchain
All checks were successful
ci/woodpecker/push/woodpecker.json Pipeline was successful
2024-07-19 11:23:05 -04:00
5aaa6d13f8
Organizing Pipeline Creation
All checks were successful
ci/woodpecker/push/woodpecker.json Pipeline was successful
2024-07-19 09:22:48 -04:00
3b1f89685a
Refactor Device Selection to use a Primitive Scoring system
All checks were successful
ci/woodpecker/push/woodpecker.json Pipeline was successful
2024-07-19 08:49:13 -04:00
20027989bb
Updated Texture Sampler 2024-07-19 07:33:25 -04:00
7236130a30
Implimented MipMapping, generates mip-maps of textures to allow easier and prettier rendering
All checks were successful
ci/woodpecker/push/woodpecker.json Pipeline was successful
2024-07-19 06:56:01 -04:00
c68c82cda7
uint standard renaming. Namespace Preferred for portability
Some checks failed
ci/woodpecker/push/woodpecker.json Pipeline failed
2024-07-18 18:44:20 -04:00
0faa71751d
Implimented a Depth Buffer to prevent things under the top most triangles are properly obscured
All checks were successful
ci/woodpecker/push/woodpecker.json Pipeline was successful
2024-07-18 18:24:13 -04:00
30ed1f679b
Start Rendering a debug Test Image on our Plane.
All checks were successful
ci/woodpecker/push/woodpecker.json Pipeline was successful
2024-07-18 16:35:52 -04:00
18a990133f
Implimented a Basic 3d Rotating Plane using Matrix Projection
All checks were successful
ci/woodpecker/push/woodpecker.json Pipeline was successful
2024-07-18 09:35:55 -04:00
cec2cb3ec9
Added multiple command-buffers and syncronization commands to allow the system to render multiple frames at once. 2024-07-15 13:23:44 -04:00
7e429da9ae
Added a Index Buffer and created a Quad out of 2 triangles 2024-07-15 08:54:37 -04:00
1350d6adf7
Implimented a Vertex Staging buffer to make startup and buffer-copies faster.
All checks were successful
ci/woodpecker/push/woodpecker.json Pipeline was successful
2024-07-15 06:59:47 -04:00
128adb6947
Reordered Functions to better show the direction of code flow. 2024-07-15 06:16:59 -04:00
5c39c62529
Pushed Buffer Allocation to a seperate function. 2024-07-15 05:56:02 -04:00
92c55d34d3
Implimented usage of a Vertex buffer
All checks were successful
ci/woodpecker/push/woodpecker.json Pipeline was successful
2024-07-14 19:46:16 -04:00
5b4cae40f9
Created a new script to automaticly grab LSP info for you.
All checks were successful
ci/woodpecker/push/woodpecker.json Pipeline was successful
2024-07-14 10:19:54 -04:00
aacef5d48f
Added Logs to the tests to view the progress and status more easily, and added a cleanup at the end since it conflicts with dev builds. 2024-07-14 10:19:13 -04:00
d2db091873
Reformatted Standard Headers to be at the start 2024-07-14 10:18:12 -04:00
98aee1a086
Resolved 1 Validation failure due to GPU, now allows testing with fatal errors on for validation errors. 2024-07-14 10:17:12 -04:00
6d2a991c36
Resolved Destruction causing Validation failures with the semephores, fences and command buffers. 2024-07-14 09:42:26 -04:00
7 changed files with 1213 additions and 422 deletions

View File

@ -191,12 +191,14 @@ public:
if (type STREQUAL "image")
cmake_path(GET file_path PARENT_PATH file_parent)
cmake_path(GET file_path FILENAME file_name)
exec_program("${ImageMagick_identify_EXECUTABLE}" "${file_parent}"
ARGS -format "%[fx:w]" "${file_name}"
OUTPUT_VARIABLE image_width)
exec_program("${ImageMagick_identify_EXECUTABLE}" "${file_parent}"
ARGS -format "%[fx:h]" "${file_name}"
OUTPUT_VARIABLE image_height)
execute_process(COMMAND "${ImageMagick_identify_EXECUTABLE}" -format "%[fx:w]" "${file_name}"
WORKING_DIRECTORY "${file_parent}"
OUTPUT_VARIABLE image_width
COMMAND_ERROR_IS_FATAL ANY)
execute_process(COMMAND "${ImageMagick_identify_EXECUTABLE}" -format "%[fx:h]" "${file_name}"
WORKING_DIRECTORY "${file_parent}"
OUTPUT_VARIABLE image_height
COMMAND_ERROR_IS_FATAL ANY)
file(APPEND "${EMBED_HEADER_DIR}/embed_resources.hpp" "inline EmbededImage embeded_${obj_cleaned_name}(${image_width}, ${image_height}, EmbededResource(&_binary_${obj_cleaned_name}_start, &_binary_${obj_cleaned_name}_end)); \n")
elseif (type STREQUAL "embed")
@ -206,7 +208,7 @@ public:
endforeach()
set(EMBED_OBJ_RET "${EMBED_OBJ_RET}" PARENT_SCOPE)
endfunction()
EmbedResources(${SHADILER_OBJ_RET})
EmbedResources(${SHADILER_OBJ_RET} "${CMAKE_CURRENT_SOURCE_DIR}/res/debug_north.png")
target_sources(${PROJECT_NAME} PRIVATE ${EMBED_OBJ_RET})
target_include_directories(${PROJECT_NAME} PUBLIC "${EMBED_HEADER_DIR}")

22
generate-lspinfo.sh Normal file
View File

@ -0,0 +1,22 @@
#/bin/sh -e
echo "Going to clean your ./build/ , then build cmake to get the commands, then clean your ./build/ again. Turn away now if you do not want this!"
echo "Please wait 10 seconds to confirm..."
sleep 10s
SCRIPT_PATH="$(readlink -f "$0")"
SCRIPT_DIR="$(dirname "$SCRIPT_PATH")"
cd "$SCRIPT_DIR"
sh clean.sh
EXT_CMAKE_OPTIONS="-DCMAKE_BUILD_TYPE=Debug"
EXT_CMAKE_OPTIONS="$EXT_CMAKE_OPTIONS -DENABLE_ASAN=ON"
EXT_CMAKE_OPTIONS="$EXT_CMAKE_OPTIONS -DENABLE_TESTS=OFF"
EXT_CMAKE_OPTIONS="$EXT_CMAKE_OPTIONS -DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
cmake $EXT_CMAKE_OPTIONS -S ./ -B ./build/
cp -v build/compile_commands.json ./
sed -i 's/gnu++23/c++2b/g' ./compile_commands.json
sh clean.sh

BIN
res/debug_north.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

View File

@ -19,9 +19,12 @@
#version 450
layout(location = 0) out vec4 outColor;
layout(location = 0) in vec3 fragColor;
layout(location = 0) in vec3 frag_color;
layout(location = 1) in vec2 frag_texture_coordinate;
layout(binding = 1) uniform sampler2D texture_sampler;
layout(location = 0) out vec4 out_color;
void main() {
outColor = vec4(fragColor, 1.0);
out_color = texture(texture_sampler, frag_texture_coordinate);
}

View File

@ -19,21 +19,21 @@
#version 450
layout(location = 0) out vec3 fragColor;
layout(binding = 0) uniform UniformBufferObject {
mat4 model;
mat4 view;
mat4 proj;
} ubo;
vec2 positions[3] = vec2[](
vec2(0.0, -0.5),
vec2(0.5, 0.5),
vec2(-0.5, 0.5)
);
layout(location = 0) in vec3 in_position;
layout(location = 2) in vec3 in_color;
layout(location = 4) in vec2 in_texture_coordinate;
vec3 colors[3] = vec3[](
vec3(1.0, 0.0, 0.0),
vec3(0.0, 1.0, 0.0),
vec3(0.0, 0.0, 1.0)
);
layout(location = 0) out vec3 frag_color;
layout(location = 1) out vec2 frag_texture_coordinate;
void main() {
gl_Position = vec4(positions[gl_VertexIndex], 0.0, 1.0);
fragColor = colors[gl_VertexIndex];
gl_Position = ubo.proj * ubo.view * ubo.model * vec4(in_position, 1.0);
frag_color = in_color;
frag_texture_coordinate = in_texture_coordinate;
}

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,7 @@ check_failure() {
}
run_and_grep() {
echo "Testing Starting: $2"
OUTPUT=$($1 2>&1)
echo "$OUTPUT" | grep "Completed tests"
check_failure "$2"
@ -21,6 +22,7 @@ run_and_grep() {
echo "Testing Debug"
sh clean.sh
echo "Building Debug..."
ENABLE_TESTS=1 ENABLE_DEBUG=1 sh build.sh >/dev/null 2>&1
check_failure "Build Debug"
time ENABLE_SWRAST=1 run_and_grep "sh run.sh" "Debug CPU Test"
@ -28,9 +30,11 @@ time run_and_grep "sh run.sh" "Debug GPU Test"
echo "Testing Release"
sh clean.sh
echo "Building Release..."
ENABLE_TESTS=1 sh build.sh >/dev/null 2>&1
check_failure "Build Release"
time ENABLE_SWRAST=1 run_and_grep "sh run.sh" "Release CPU Test"
time run_and_grep "sh run.sh" "Release GPU Test"
sh clean.sh
echo "Tests Succeeded"