Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 9 additions & 32 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,30 +12,21 @@ set(CMAKE_MESSAGE_LOG_LEVEL STATUS CACHE STRING "" FORCE)

FetchContent_Declare(
SDL3
GIT_REPOSITORY https://github.com/libsdl-org/SDL.git
GIT_TAG release-3.2.26
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
URL https://github.com/libsdl-org/SDL/archive/refs/tags/release-3.2.26.zip
)
set(SDL_SHARED OFF CACHE BOOL "" FORCE)
set(SDL_STATIC ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(SDL3)

FetchContent_Declare(
SPIRVHeaders
GIT_REPOSITORY https://github.com/KhronosGroup/SPIRV-Headers.git
GIT_TAG vulkan-sdk-1.4.328.1
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
URL https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.4.328.1.zip
)
FetchContent_MakeAvailable(SPIRVHeaders)

FetchContent_Declare(
SPIRVTools
GIT_REPOSITORY https://github.com/KhronosGroup/SPIRV-Tools.git
GIT_TAG vulkan-sdk-1.4.328.1
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
URL https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/vulkan-sdk-1.4.328.1.zip
)
set(SPIRV_SKIP_TESTS ON CACHE BOOL "" FORCE)
set(SPIRV_SKIP_EXECUTABLES ON CACHE BOOL "" FORCE)
Expand All @@ -44,10 +35,7 @@ FetchContent_MakeAvailable(SPIRVTools)

FetchContent_Declare(
glslang
GIT_REPOSITORY https://github.com/KhronosGroup/glslang.git
GIT_TAG vulkan-sdk-1.4.328.1
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
URL https://github.com/KhronosGroup/glslang/archive/refs/tags/vulkan-sdk-1.4.328.1.zip
)
set(ENABLE_GLSLANG_BINARIES OFF CACHE BOOL "" FORCE)
set(ENABLE_GLSLANG_JS OFF CACHE BOOL "" FORCE)
Expand All @@ -57,10 +45,7 @@ FetchContent_MakeAvailable(glslang)

FetchContent_Declare(
shaderc
GIT_REPOSITORY https://github.com/google/shaderc.git
GIT_TAG v2025.4
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
URL https://github.com/google/shaderc/archive/refs/tags/v2025.4.zip
)
set(SHADERC_SKIP_TESTS ON CACHE BOOL "" FORCE)
set(SHADERC_SKIP_EXAMPLES ON CACHE BOOL "" FORCE)
Expand All @@ -71,10 +56,7 @@ FetchContent_MakeAvailable(shaderc)

FetchContent_Declare(
imgui
GIT_REPOSITORY https://github.com/ocornut/imgui.git
GIT_TAG v1.92.4
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
URL https://github.com/ocornut/imgui/archive/refs/tags/v1.92.4.zip
)
FetchContent_MakeAvailable(imgui)
set(IMGUI_DIR ${imgui_SOURCE_DIR})
Expand All @@ -96,22 +78,17 @@ target_link_libraries(imgui PUBLIC SDL3::SDL3)

FetchContent_Declare(
stb
GIT_REPOSITORY https://github.com/nothings/stb.git
GIT_TAG master
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
URL https://github.com/nothings/stb/archive/refs/heads/master.zip
)
FetchContent_MakeAvailable(stb)
add_library(stb INTERFACE)
target_include_directories(stb SYSTEM INTERFACE ${stb_SOURCE_DIR})

FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG v1.17.0
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
URL https://github.com/google/googletest/archive/refs/tags/v1.17.0.zip
)
set(INSTALL_GTEST OFF CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)

include(CTest)
Expand Down
58 changes: 49 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,58 @@

This is a personal learning project following [Learn OpenGL](https://learnopengl.com/)

## Module

```mermaid
graph TD

subgraph ThirdParty
glslang
shaderc
SPIRVTools
SDL3
stb
imgui
end

subgraph Modules
data_type
glsl_reflector
sdl_wrapper
logos
end

glslang --> shaderc
SPIRVTools --> shaderc

SDL3 --> imgui

glslang --> glsl_reflector
data_type --> glsl_reflector

shaderc --> sdl_wrapper
SDL3 --> sdl_wrapper
glsl_reflector --> sdl_wrapper
data_type --> sdl_wrapper

imgui --> SDL_TEST
sdl_wrapper --> SDL_TEST
stb --> SDL_TEST
logos --> SDL_TEST
```

## Track

- [ ] Getting started
- [x] OpenGL
- [x] Creating a window
- [x] Hello Window
- [x] Hello Triangle
- [x] Shaders
- [x] Textures
- [x] Transformations
- [ ] Coordinate Systems
- [ ] Camera
- [x] OpenGL
- [x] Creating a window
- [x] Hello Window
- [x] Hello Triangle
- [x] Shaders
- [x] Textures
- [x] Transformations
- [ ] Coordinate Systems
- [ ] Camera
- [ ] Lighting
- [ ] Model Loading
- [ ] Advanced OpenGL
Expand Down
Loading
Loading