From e51ee84167ae1f1c8a0fc6eb3131032179ddfa15 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Mon, 4 May 2026 13:21:34 +0200 Subject: [PATCH] Reestructura carpetes: src->source, third_party->source/external, shaders->data/shaders --- CLAUDE.md | 26 +++++++++--------- CMakeLists.txt | 22 +++++++-------- Makefile | 23 +++++++--------- .../shaders}/_common/passthrough.vert.msl | 0 .../shaders}/_common/passthrough.vert.spv | Bin .../shaders}/_common/passthrough.vk.glsl | 0 .../cineshader_lava/cineshader_lava.frag.msl | 0 .../cineshader_lava/cineshader_lava.frag.spv | Bin .../cineshader_lava/cineshader_lava.gl.glsl | 0 .../cineshader_lava/cineshader_lava.vk.glsl | 0 .../shaders}/cineshader_lava/meta.txt | 0 .../shaders}/creation/creation.frag.msl | 0 .../shaders}/creation/creation.frag.spv | Bin .../shaders}/creation/creation.gl.glsl | 0 .../shaders}/creation/creation.vk.glsl | 0 {shaders => data/shaders}/creation/meta.txt | 0 .../shaders}/cube_lines/cube_lines.frag.msl | 0 .../shaders}/cube_lines/cube_lines.frag.spv | Bin .../shaders}/cube_lines/cube_lines.gl.glsl | 0 .../shaders}/cube_lines/cube_lines.vk.glsl | 0 {shaders => data/shaders}/cube_lines/meta.txt | 0 {shaders => data/shaders}/dbz/dbz.frag.msl | 0 {shaders => data/shaders}/dbz/dbz.frag.spv | Bin {shaders => data/shaders}/dbz/dbz.gl.glsl | 0 {shaders => data/shaders}/dbz/dbz.vk.glsl | 0 {shaders => data/shaders}/dbz/meta.txt | 0 .../fractal_pyramid/fractal_pyramid.frag.msl | 0 .../fractal_pyramid/fractal_pyramid.frag.spv | Bin .../fractal_pyramid/fractal_pyramid.gl.glsl | 0 .../fractal_pyramid/fractal_pyramid.vk.glsl | 0 .../shaders}/fractal_pyramid/meta.txt | 0 .../just_another_cube.frag.msl | 0 .../just_another_cube.frag.spv | Bin .../just_another_cube.gl.glsl | 0 .../just_another_cube.vk.glsl | 0 .../shaders}/just_another_cube/meta.txt | 0 {shaders => data/shaders}/octograms/meta.txt | 0 .../shaders}/octograms/octograms.frag.msl | 0 .../shaders}/octograms/octograms.frag.spv | Bin .../shaders}/octograms/octograms.gl.glsl | 0 .../shaders}/octograms/octograms.vk.glsl | 0 {shaders => data/shaders}/remember/meta.txt | 0 .../shaders}/remember/remember.frag.msl | 0 .../shaders}/remember/remember.frag.spv | Bin .../shaders}/remember/remember.gl.glsl | 0 .../shaders}/remember/remember.vk.glsl | 0 {shaders => data/shaders}/seascape/meta.txt | 0 .../shaders}/seascape/seascape.frag.msl | 0 .../shaders}/seascape/seascape.frag.spv | Bin .../shaders}/seascape/seascape.gl.glsl | 0 .../shaders}/seascape/seascape.vk.glsl | 0 .../shader_art_coding_introduction/meta.txt | 0 .../shader_art_coding_introduction.frag.msl | 0 .../shader_art_coding_introduction.frag.spv | Bin .../shader_art_coding_introduction.gl.glsl | 0 .../shader_art_coding_introduction.vk.glsl | 0 {shaders => data/shaders}/test/meta.txt | 0 {shaders => data/shaders}/test/test.frag.msl | 0 {shaders => data/shaders}/test/test.frag.spv | Bin {shaders => data/shaders}/test/test.gl.glsl | 0 {shaders => data/shaders}/test/test.vk.glsl | 0 {shaders => data/shaders}/water/meta.txt | 0 .../shaders}/water/water.frag.msl | 0 .../shaders}/water/water.frag.spv | Bin {shaders => data/shaders}/water/water.gl.glsl | 0 {shaders => data/shaders}/water/water.vk.glsl | 0 {src => source}/audio/jail_audio.cpp | 0 {src => source}/audio/jail_audio.hpp | 0 {src => source}/defines.hpp | 0 .../external}/glad/include/KHR/khrplatform.h | 0 .../external}/glad/include/glad/glad.h | 0 .../external}/glad/src/glad.c | 0 {third_party => source/external}/stb_vorbis.c | 0 .../external}/stb_vorbis_impl.cpp | 0 {src => source}/main.cpp | 4 +-- .../rendering/opengl_shader_backend.cpp | 0 .../rendering/opengl_shader_backend.hpp | 0 .../sdl3gpu/sdl3gpu_shader_backend.cpp | 0 .../sdl3gpu/sdl3gpu_shader_backend.hpp | 0 .../rendering/sdl3gpu/shader_factory.hpp | 0 {src => source}/rendering/shader_backend.cpp | 0 {src => source}/rendering/shader_backend.hpp | 0 82 files changed, 36 insertions(+), 39 deletions(-) rename {shaders => data/shaders}/_common/passthrough.vert.msl (100%) rename {shaders => data/shaders}/_common/passthrough.vert.spv (100%) rename {shaders => data/shaders}/_common/passthrough.vk.glsl (100%) rename {shaders => data/shaders}/cineshader_lava/cineshader_lava.frag.msl (100%) rename {shaders => data/shaders}/cineshader_lava/cineshader_lava.frag.spv (100%) rename {shaders => data/shaders}/cineshader_lava/cineshader_lava.gl.glsl (100%) rename {shaders => data/shaders}/cineshader_lava/cineshader_lava.vk.glsl (100%) rename {shaders => data/shaders}/cineshader_lava/meta.txt (100%) rename {shaders => data/shaders}/creation/creation.frag.msl (100%) rename {shaders => data/shaders}/creation/creation.frag.spv (100%) rename {shaders => data/shaders}/creation/creation.gl.glsl (100%) rename {shaders => data/shaders}/creation/creation.vk.glsl (100%) rename {shaders => data/shaders}/creation/meta.txt (100%) rename {shaders => data/shaders}/cube_lines/cube_lines.frag.msl (100%) rename {shaders => data/shaders}/cube_lines/cube_lines.frag.spv (100%) rename {shaders => data/shaders}/cube_lines/cube_lines.gl.glsl (100%) rename {shaders => data/shaders}/cube_lines/cube_lines.vk.glsl (100%) rename {shaders => data/shaders}/cube_lines/meta.txt (100%) rename {shaders => data/shaders}/dbz/dbz.frag.msl (100%) rename {shaders => data/shaders}/dbz/dbz.frag.spv (100%) rename {shaders => data/shaders}/dbz/dbz.gl.glsl (100%) rename {shaders => data/shaders}/dbz/dbz.vk.glsl (100%) rename {shaders => data/shaders}/dbz/meta.txt (100%) rename {shaders => data/shaders}/fractal_pyramid/fractal_pyramid.frag.msl (100%) rename {shaders => data/shaders}/fractal_pyramid/fractal_pyramid.frag.spv (100%) rename {shaders => data/shaders}/fractal_pyramid/fractal_pyramid.gl.glsl (100%) rename {shaders => data/shaders}/fractal_pyramid/fractal_pyramid.vk.glsl (100%) rename {shaders => data/shaders}/fractal_pyramid/meta.txt (100%) rename {shaders => data/shaders}/just_another_cube/just_another_cube.frag.msl (100%) rename {shaders => data/shaders}/just_another_cube/just_another_cube.frag.spv (100%) rename {shaders => data/shaders}/just_another_cube/just_another_cube.gl.glsl (100%) rename {shaders => data/shaders}/just_another_cube/just_another_cube.vk.glsl (100%) rename {shaders => data/shaders}/just_another_cube/meta.txt (100%) rename {shaders => data/shaders}/octograms/meta.txt (100%) rename {shaders => data/shaders}/octograms/octograms.frag.msl (100%) rename {shaders => data/shaders}/octograms/octograms.frag.spv (100%) rename {shaders => data/shaders}/octograms/octograms.gl.glsl (100%) rename {shaders => data/shaders}/octograms/octograms.vk.glsl (100%) rename {shaders => data/shaders}/remember/meta.txt (100%) rename {shaders => data/shaders}/remember/remember.frag.msl (100%) rename {shaders => data/shaders}/remember/remember.frag.spv (100%) rename {shaders => data/shaders}/remember/remember.gl.glsl (100%) rename {shaders => data/shaders}/remember/remember.vk.glsl (100%) rename {shaders => data/shaders}/seascape/meta.txt (100%) rename {shaders => data/shaders}/seascape/seascape.frag.msl (100%) rename {shaders => data/shaders}/seascape/seascape.frag.spv (100%) rename {shaders => data/shaders}/seascape/seascape.gl.glsl (100%) rename {shaders => data/shaders}/seascape/seascape.vk.glsl (100%) rename {shaders => data/shaders}/shader_art_coding_introduction/meta.txt (100%) rename {shaders => data/shaders}/shader_art_coding_introduction/shader_art_coding_introduction.frag.msl (100%) rename {shaders => data/shaders}/shader_art_coding_introduction/shader_art_coding_introduction.frag.spv (100%) rename {shaders => data/shaders}/shader_art_coding_introduction/shader_art_coding_introduction.gl.glsl (100%) rename {shaders => data/shaders}/shader_art_coding_introduction/shader_art_coding_introduction.vk.glsl (100%) rename {shaders => data/shaders}/test/meta.txt (100%) rename {shaders => data/shaders}/test/test.frag.msl (100%) rename {shaders => data/shaders}/test/test.frag.spv (100%) rename {shaders => data/shaders}/test/test.gl.glsl (100%) rename {shaders => data/shaders}/test/test.vk.glsl (100%) rename {shaders => data/shaders}/water/meta.txt (100%) rename {shaders => data/shaders}/water/water.frag.msl (100%) rename {shaders => data/shaders}/water/water.frag.spv (100%) rename {shaders => data/shaders}/water/water.gl.glsl (100%) rename {shaders => data/shaders}/water/water.vk.glsl (100%) rename {src => source}/audio/jail_audio.cpp (100%) rename {src => source}/audio/jail_audio.hpp (100%) rename {src => source}/defines.hpp (100%) rename {third_party => source/external}/glad/include/KHR/khrplatform.h (100%) rename {third_party => source/external}/glad/include/glad/glad.h (100%) rename {third_party => source/external}/glad/src/glad.c (100%) rename {third_party => source/external}/stb_vorbis.c (100%) rename {third_party => source/external}/stb_vorbis_impl.cpp (100%) rename {src => source}/main.cpp (99%) rename {src => source}/rendering/opengl_shader_backend.cpp (100%) rename {src => source}/rendering/opengl_shader_backend.hpp (100%) rename {src => source}/rendering/sdl3gpu/sdl3gpu_shader_backend.cpp (100%) rename {src => source}/rendering/sdl3gpu/sdl3gpu_shader_backend.hpp (100%) rename {src => source}/rendering/sdl3gpu/shader_factory.hpp (100%) rename {src => source}/rendering/shader_backend.cpp (100%) rename {src => source}/rendering/shader_backend.hpp (100%) diff --git a/CLAUDE.md b/CLAUDE.md index 8fd5e04..3ee3dfc 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -51,9 +51,9 @@ Requires `glslc` (Debian/Ubuntu: `apt install glslang-tools`; macOS: `brew insta ./shadertoy [SHADER_NAME_OR_PATH] [-F|--fullscreen] [--backend=auto|gpu|opengl] # Examples: -./shadertoy test # auto backend, shaders/test/ +./shadertoy test # auto backend, data/shaders/test/ ./shadertoy --backend=gpu seascape # force SDL3 GPU (Vulkan/Metal) -./shadertoy -F shaders/fractal_pyramid # explicit folder path, fullscreen +./shadertoy -F data/shaders/fractal_pyramid # explicit folder path, fullscreen ``` **Runtime Controls:** @@ -64,22 +64,22 @@ Requires `glslc` (Debian/Ubuntu: `apt install glslang-tools`; macOS: `brew insta ## Architecture ### Layered design -- `src/main.cpp` — SDL3 window, event loop, shader-list scanning, dispatch to a backend. -- `src/rendering/shader_backend.hpp` — abstract `IShaderBackend` interface + `ShaderMetadata` / `ShaderUniforms` / `ShaderProgramSpec` shared types. Two factories: `makeOpenGLBackend()`, `makeSdl3GpuBackend()`. -- `src/rendering/opengl_shader_backend.{hpp,cpp}` — OpenGL 3.3 implementation. Loads `/.gl.glsl` at runtime. -- `src/rendering/sdl3gpu/sdl3gpu_shader_backend.{hpp,cpp}` — SDL3 GPU implementation. Loads `/.frag.spv` (Linux/Windows) or `/.frag.msl` (macOS); shares one passthrough vertex shader from `shaders/_common/passthrough.vert.{spv,msl}`. -- `src/rendering/sdl3gpu/shader_factory.hpp` — small helper that loads a shader binary/source from disk and creates an `SDL_GPUShader`. +- `source/main.cpp` — SDL3 window, event loop, shader-list scanning, dispatch to a backend. +- `source/rendering/shader_backend.hpp` — abstract `IShaderBackend` interface + `ShaderMetadata` / `ShaderUniforms` / `ShaderProgramSpec` shared types. Two factories: `makeOpenGLBackend()`, `makeSdl3GpuBackend()`. +- `source/rendering/opengl_shader_backend.{hpp,cpp}` — OpenGL 3.3 implementation. Loads `/.gl.glsl` at runtime. +- `source/rendering/sdl3gpu/sdl3gpu_shader_backend.{hpp,cpp}` — SDL3 GPU implementation. Loads `/.frag.spv` (Linux/Windows) or `/.frag.msl` (macOS); shares one passthrough vertex shader from `shaders/_common/passthrough.vert.{spv,msl}`. +- `source/rendering/sdl3gpu/shader_factory.hpp` — small helper that loads a shader binary/source from disk and creates an `SDL_GPUShader`. ### Shader folder layout -One folder per shader, under `shaders/`: +One folder per shader, under `data/shaders/`: ``` -shaders// +data/shaders// .gl.glsl # OpenGL GLSL 3.30 (handwritten) .vk.glsl # Vulkan GLSL 4.50 (handwritten) .frag.msl # Metal Shading Language (handwritten) .frag.spv # generated by `make compile_shaders` from .vk.glsl meta.txt # Name / Author / iChannelN -shaders/_common/ +data/shaders/_common/ passthrough.vk.glsl # shared fullscreen-triangle vertex (Vulkan) passthrough.vert.spv # generated passthrough.vert.msl # handwritten Metal @@ -103,7 +103,7 @@ shaders_directory_ // Shaders root path (resolved at startup) ### Dependencies - **SDL3** ≥ 3.2 — windowing, events, GPU API (`SDL_gpu.h`) -- **GLAD** — OpenGL 3.3 loader (used only by the OpenGL backend, statically linked via `third_party/glad/`) +- **GLAD** — OpenGL 3.3 loader (used only by the OpenGL backend, statically linked via `source/external/glad/`) - **C++17 stdlib** — filesystem, fstream, vector, algorithms - Build-time tool: `glslc` (only required to regenerate `.frag.spv`) @@ -116,7 +116,7 @@ Uses preprocessor defines (`WINDOWS_BUILD`, `MACOS_BUILD`, `LINUX_BUILD`) for: ## Shader System ### Authoring a shader (manual steps) -For each new shader, three handwritten files live in `shaders//`: +For each new shader, three handwritten files live in `data/shaders//`: 1. **`.gl.glsl`** — OpenGL GLSL 3.30 (the original Shadertoy-style format described below). 2. **`.vk.glsl`** — Vulkan GLSL 4.50 with explicit `layout(set=3, binding=0) uniform ShadertoyUBO { float iTime; vec2 iResolution; } u;` and `layout(set=2, binding=N) uniform sampler2D` for any texture channel. 3. **`.frag.msl`** — Metal Shading Language. Entry point must be named `_fs`. Uniforms come in via `[[buffer(0)]]`; samplers via `[[texture(N)]] [[sampler(N)]]`. @@ -159,7 +159,7 @@ void main() { ``` ### Adding New Shaders -1. Create `.glsl` file in `shaders/` directory (use `.frag.glsl` convention) +1. Create `.glsl` file in `data/shaders//` directory (use `.frag.glsl` convention) 2. Follow required format above 3. File automatically appears in runtime shader rotation (arrow keys to navigate) 4. **No code changes required** - directory is scanned at startup diff --git a/CMakeLists.txt b/CMakeLists.txt index da57aed..413d496 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,17 +16,17 @@ set(OpenGL_GL_PREFERENCE GLVND) # --- LISTA EXPLÍCITA DE FUENTES --- set(APP_SOURCES - src/main.cpp - src/rendering/shader_backend.cpp - src/rendering/opengl_shader_backend.cpp - src/rendering/sdl3gpu/sdl3gpu_shader_backend.cpp - src/audio/jail_audio.cpp + source/main.cpp + source/rendering/shader_backend.cpp + source/rendering/opengl_shader_backend.cpp + source/rendering/sdl3gpu/sdl3gpu_shader_backend.cpp + source/audio/jail_audio.cpp ) # Fuentes de librerías de terceros set(EXTERNAL_SOURCES - third_party/glad/src/glad.c - third_party/stb_vorbis_impl.cpp + source/external/glad/src/glad.c + source/external/stb_vorbis_impl.cpp ) # Configuración de SDL3 @@ -40,7 +40,7 @@ if(GLSLC_EXE) add_custom_target(compile_shaders COMMAND ${CMAKE_COMMAND} -D GLSLC=${GLSLC_EXE} - -D SHADERS_DIR=${CMAKE_SOURCE_DIR}/shaders + -D SHADERS_DIR=${CMAKE_SOURCE_DIR}/data/shaders -P ${CMAKE_SOURCE_DIR}/tools/shaders/compile_shaders.cmake WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMENT "Compiling .vk.glsl shaders to SPIR-V") @@ -53,9 +53,9 @@ add_executable(${PROJECT_NAME} ${APP_SOURCES} ${EXTERNAL_SOURCES}) # --- DIRECTORIOS DE INCLUSIÓN --- target_include_directories(${PROJECT_NAME} PUBLIC - "${CMAKE_SOURCE_DIR}/src" - "${CMAKE_SOURCE_DIR}/third_party/glad/include" - "${CMAKE_SOURCE_DIR}/third_party" + "${CMAKE_SOURCE_DIR}/source" + "${CMAKE_SOURCE_DIR}/source/external/glad/include" + "${CMAKE_SOURCE_DIR}/source/external" ) # Enlazar la librería SDL3 diff --git a/Makefile b/Makefile index 29778d9..4e00122 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # Directorios DIR_ROOT := $(dir $(abspath $(MAKEFILE_LIST))) -DIR_SOURCES := $(addsuffix /, $(DIR_ROOT)src) +DIR_SOURCES := $(addsuffix /, $(DIR_ROOT)source) DIR_BIN := $(addsuffix /, $(DIR_ROOT)) DIR_BUILD := $(addsuffix /, $(DIR_ROOT)build) @@ -35,16 +35,16 @@ LINUX_RELEASE := $(TARGET_NAME)-$(VERSION)-linux.tar.gz # Lista completa de archivos fuente APP_SOURCES := \ - src/main.cpp \ - src/rendering/shader_backend.cpp \ - src/rendering/opengl_shader_backend.cpp \ - src/rendering/sdl3gpu/sdl3gpu_shader_backend.cpp \ - src/audio/jail_audio.cpp \ - third_party/glad/src/glad.c \ - third_party/stb_vorbis_impl.cpp + source/main.cpp \ + source/rendering/shader_backend.cpp \ + source/rendering/opengl_shader_backend.cpp \ + source/rendering/sdl3gpu/sdl3gpu_shader_backend.cpp \ + source/audio/jail_audio.cpp \ + source/external/glad/src/glad.c \ + source/external/stb_vorbis_impl.cpp # Includes -INCLUDES := -Isrc -Ithird_party/glad/include -Ithird_party +INCLUDES := -Isource -Isource/external/glad/include -Isource/external # Variables según el sistema operativo ifeq ($(OS),Windows_NT) @@ -98,8 +98,7 @@ windows_release: powershell if (Test-Path "$(RELEASE_FOLDER)") {Remove-Item "$(RELEASE_FOLDER)" -Recurse -Force} powershell if (-not (Test-Path "$(RELEASE_FOLDER)")) {New-Item "$(RELEASE_FOLDER)" -ItemType Directory} -# Copia la carpeta 'shaders' - powershell Copy-Item -Path "shaders" -Destination "$(RELEASE_FOLDER)" -recurse -Force +# Copia la carpeta 'data' (que ahora contiene shaders y music) powershell Copy-Item -Path "data" -Destination "$(RELEASE_FOLDER)" -recurse -Force # Copia los ficheros que están en la raíz del proyecto @@ -167,7 +166,6 @@ macos_release: $(MKDIR) "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources" # Copia carpetas y ficheros - cp -R shaders "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources" cp -R data "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources" cp -R release/frameworks/SDL3.xcframework "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Frameworks" cp release/icon.icns "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources" @@ -225,7 +223,6 @@ linux_release: $(MKDIR) "$(RELEASE_FOLDER)" # Copia ficheros - cp -R shaders "$(RELEASE_FOLDER)" cp -R data "$(RELEASE_FOLDER)" cp LICENSE "$(RELEASE_FOLDER)" cp README.md "$(RELEASE_FOLDER)" diff --git a/shaders/_common/passthrough.vert.msl b/data/shaders/_common/passthrough.vert.msl similarity index 100% rename from shaders/_common/passthrough.vert.msl rename to data/shaders/_common/passthrough.vert.msl diff --git a/shaders/_common/passthrough.vert.spv b/data/shaders/_common/passthrough.vert.spv similarity index 100% rename from shaders/_common/passthrough.vert.spv rename to data/shaders/_common/passthrough.vert.spv diff --git a/shaders/_common/passthrough.vk.glsl b/data/shaders/_common/passthrough.vk.glsl similarity index 100% rename from shaders/_common/passthrough.vk.glsl rename to data/shaders/_common/passthrough.vk.glsl diff --git a/shaders/cineshader_lava/cineshader_lava.frag.msl b/data/shaders/cineshader_lava/cineshader_lava.frag.msl similarity index 100% rename from shaders/cineshader_lava/cineshader_lava.frag.msl rename to data/shaders/cineshader_lava/cineshader_lava.frag.msl diff --git a/shaders/cineshader_lava/cineshader_lava.frag.spv b/data/shaders/cineshader_lava/cineshader_lava.frag.spv similarity index 100% rename from shaders/cineshader_lava/cineshader_lava.frag.spv rename to data/shaders/cineshader_lava/cineshader_lava.frag.spv diff --git a/shaders/cineshader_lava/cineshader_lava.gl.glsl b/data/shaders/cineshader_lava/cineshader_lava.gl.glsl similarity index 100% rename from shaders/cineshader_lava/cineshader_lava.gl.glsl rename to data/shaders/cineshader_lava/cineshader_lava.gl.glsl diff --git a/shaders/cineshader_lava/cineshader_lava.vk.glsl b/data/shaders/cineshader_lava/cineshader_lava.vk.glsl similarity index 100% rename from shaders/cineshader_lava/cineshader_lava.vk.glsl rename to data/shaders/cineshader_lava/cineshader_lava.vk.glsl diff --git a/shaders/cineshader_lava/meta.txt b/data/shaders/cineshader_lava/meta.txt similarity index 100% rename from shaders/cineshader_lava/meta.txt rename to data/shaders/cineshader_lava/meta.txt diff --git a/shaders/creation/creation.frag.msl b/data/shaders/creation/creation.frag.msl similarity index 100% rename from shaders/creation/creation.frag.msl rename to data/shaders/creation/creation.frag.msl diff --git a/shaders/creation/creation.frag.spv b/data/shaders/creation/creation.frag.spv similarity index 100% rename from shaders/creation/creation.frag.spv rename to data/shaders/creation/creation.frag.spv diff --git a/shaders/creation/creation.gl.glsl b/data/shaders/creation/creation.gl.glsl similarity index 100% rename from shaders/creation/creation.gl.glsl rename to data/shaders/creation/creation.gl.glsl diff --git a/shaders/creation/creation.vk.glsl b/data/shaders/creation/creation.vk.glsl similarity index 100% rename from shaders/creation/creation.vk.glsl rename to data/shaders/creation/creation.vk.glsl diff --git a/shaders/creation/meta.txt b/data/shaders/creation/meta.txt similarity index 100% rename from shaders/creation/meta.txt rename to data/shaders/creation/meta.txt diff --git a/shaders/cube_lines/cube_lines.frag.msl b/data/shaders/cube_lines/cube_lines.frag.msl similarity index 100% rename from shaders/cube_lines/cube_lines.frag.msl rename to data/shaders/cube_lines/cube_lines.frag.msl diff --git a/shaders/cube_lines/cube_lines.frag.spv b/data/shaders/cube_lines/cube_lines.frag.spv similarity index 100% rename from shaders/cube_lines/cube_lines.frag.spv rename to data/shaders/cube_lines/cube_lines.frag.spv diff --git a/shaders/cube_lines/cube_lines.gl.glsl b/data/shaders/cube_lines/cube_lines.gl.glsl similarity index 100% rename from shaders/cube_lines/cube_lines.gl.glsl rename to data/shaders/cube_lines/cube_lines.gl.glsl diff --git a/shaders/cube_lines/cube_lines.vk.glsl b/data/shaders/cube_lines/cube_lines.vk.glsl similarity index 100% rename from shaders/cube_lines/cube_lines.vk.glsl rename to data/shaders/cube_lines/cube_lines.vk.glsl diff --git a/shaders/cube_lines/meta.txt b/data/shaders/cube_lines/meta.txt similarity index 100% rename from shaders/cube_lines/meta.txt rename to data/shaders/cube_lines/meta.txt diff --git a/shaders/dbz/dbz.frag.msl b/data/shaders/dbz/dbz.frag.msl similarity index 100% rename from shaders/dbz/dbz.frag.msl rename to data/shaders/dbz/dbz.frag.msl diff --git a/shaders/dbz/dbz.frag.spv b/data/shaders/dbz/dbz.frag.spv similarity index 100% rename from shaders/dbz/dbz.frag.spv rename to data/shaders/dbz/dbz.frag.spv diff --git a/shaders/dbz/dbz.gl.glsl b/data/shaders/dbz/dbz.gl.glsl similarity index 100% rename from shaders/dbz/dbz.gl.glsl rename to data/shaders/dbz/dbz.gl.glsl diff --git a/shaders/dbz/dbz.vk.glsl b/data/shaders/dbz/dbz.vk.glsl similarity index 100% rename from shaders/dbz/dbz.vk.glsl rename to data/shaders/dbz/dbz.vk.glsl diff --git a/shaders/dbz/meta.txt b/data/shaders/dbz/meta.txt similarity index 100% rename from shaders/dbz/meta.txt rename to data/shaders/dbz/meta.txt diff --git a/shaders/fractal_pyramid/fractal_pyramid.frag.msl b/data/shaders/fractal_pyramid/fractal_pyramid.frag.msl similarity index 100% rename from shaders/fractal_pyramid/fractal_pyramid.frag.msl rename to data/shaders/fractal_pyramid/fractal_pyramid.frag.msl diff --git a/shaders/fractal_pyramid/fractal_pyramid.frag.spv b/data/shaders/fractal_pyramid/fractal_pyramid.frag.spv similarity index 100% rename from shaders/fractal_pyramid/fractal_pyramid.frag.spv rename to data/shaders/fractal_pyramid/fractal_pyramid.frag.spv diff --git a/shaders/fractal_pyramid/fractal_pyramid.gl.glsl b/data/shaders/fractal_pyramid/fractal_pyramid.gl.glsl similarity index 100% rename from shaders/fractal_pyramid/fractal_pyramid.gl.glsl rename to data/shaders/fractal_pyramid/fractal_pyramid.gl.glsl diff --git a/shaders/fractal_pyramid/fractal_pyramid.vk.glsl b/data/shaders/fractal_pyramid/fractal_pyramid.vk.glsl similarity index 100% rename from shaders/fractal_pyramid/fractal_pyramid.vk.glsl rename to data/shaders/fractal_pyramid/fractal_pyramid.vk.glsl diff --git a/shaders/fractal_pyramid/meta.txt b/data/shaders/fractal_pyramid/meta.txt similarity index 100% rename from shaders/fractal_pyramid/meta.txt rename to data/shaders/fractal_pyramid/meta.txt diff --git a/shaders/just_another_cube/just_another_cube.frag.msl b/data/shaders/just_another_cube/just_another_cube.frag.msl similarity index 100% rename from shaders/just_another_cube/just_another_cube.frag.msl rename to data/shaders/just_another_cube/just_another_cube.frag.msl diff --git a/shaders/just_another_cube/just_another_cube.frag.spv b/data/shaders/just_another_cube/just_another_cube.frag.spv similarity index 100% rename from shaders/just_another_cube/just_another_cube.frag.spv rename to data/shaders/just_another_cube/just_another_cube.frag.spv diff --git a/shaders/just_another_cube/just_another_cube.gl.glsl b/data/shaders/just_another_cube/just_another_cube.gl.glsl similarity index 100% rename from shaders/just_another_cube/just_another_cube.gl.glsl rename to data/shaders/just_another_cube/just_another_cube.gl.glsl diff --git a/shaders/just_another_cube/just_another_cube.vk.glsl b/data/shaders/just_another_cube/just_another_cube.vk.glsl similarity index 100% rename from shaders/just_another_cube/just_another_cube.vk.glsl rename to data/shaders/just_another_cube/just_another_cube.vk.glsl diff --git a/shaders/just_another_cube/meta.txt b/data/shaders/just_another_cube/meta.txt similarity index 100% rename from shaders/just_another_cube/meta.txt rename to data/shaders/just_another_cube/meta.txt diff --git a/shaders/octograms/meta.txt b/data/shaders/octograms/meta.txt similarity index 100% rename from shaders/octograms/meta.txt rename to data/shaders/octograms/meta.txt diff --git a/shaders/octograms/octograms.frag.msl b/data/shaders/octograms/octograms.frag.msl similarity index 100% rename from shaders/octograms/octograms.frag.msl rename to data/shaders/octograms/octograms.frag.msl diff --git a/shaders/octograms/octograms.frag.spv b/data/shaders/octograms/octograms.frag.spv similarity index 100% rename from shaders/octograms/octograms.frag.spv rename to data/shaders/octograms/octograms.frag.spv diff --git a/shaders/octograms/octograms.gl.glsl b/data/shaders/octograms/octograms.gl.glsl similarity index 100% rename from shaders/octograms/octograms.gl.glsl rename to data/shaders/octograms/octograms.gl.glsl diff --git a/shaders/octograms/octograms.vk.glsl b/data/shaders/octograms/octograms.vk.glsl similarity index 100% rename from shaders/octograms/octograms.vk.glsl rename to data/shaders/octograms/octograms.vk.glsl diff --git a/shaders/remember/meta.txt b/data/shaders/remember/meta.txt similarity index 100% rename from shaders/remember/meta.txt rename to data/shaders/remember/meta.txt diff --git a/shaders/remember/remember.frag.msl b/data/shaders/remember/remember.frag.msl similarity index 100% rename from shaders/remember/remember.frag.msl rename to data/shaders/remember/remember.frag.msl diff --git a/shaders/remember/remember.frag.spv b/data/shaders/remember/remember.frag.spv similarity index 100% rename from shaders/remember/remember.frag.spv rename to data/shaders/remember/remember.frag.spv diff --git a/shaders/remember/remember.gl.glsl b/data/shaders/remember/remember.gl.glsl similarity index 100% rename from shaders/remember/remember.gl.glsl rename to data/shaders/remember/remember.gl.glsl diff --git a/shaders/remember/remember.vk.glsl b/data/shaders/remember/remember.vk.glsl similarity index 100% rename from shaders/remember/remember.vk.glsl rename to data/shaders/remember/remember.vk.glsl diff --git a/shaders/seascape/meta.txt b/data/shaders/seascape/meta.txt similarity index 100% rename from shaders/seascape/meta.txt rename to data/shaders/seascape/meta.txt diff --git a/shaders/seascape/seascape.frag.msl b/data/shaders/seascape/seascape.frag.msl similarity index 100% rename from shaders/seascape/seascape.frag.msl rename to data/shaders/seascape/seascape.frag.msl diff --git a/shaders/seascape/seascape.frag.spv b/data/shaders/seascape/seascape.frag.spv similarity index 100% rename from shaders/seascape/seascape.frag.spv rename to data/shaders/seascape/seascape.frag.spv diff --git a/shaders/seascape/seascape.gl.glsl b/data/shaders/seascape/seascape.gl.glsl similarity index 100% rename from shaders/seascape/seascape.gl.glsl rename to data/shaders/seascape/seascape.gl.glsl diff --git a/shaders/seascape/seascape.vk.glsl b/data/shaders/seascape/seascape.vk.glsl similarity index 100% rename from shaders/seascape/seascape.vk.glsl rename to data/shaders/seascape/seascape.vk.glsl diff --git a/shaders/shader_art_coding_introduction/meta.txt b/data/shaders/shader_art_coding_introduction/meta.txt similarity index 100% rename from shaders/shader_art_coding_introduction/meta.txt rename to data/shaders/shader_art_coding_introduction/meta.txt diff --git a/shaders/shader_art_coding_introduction/shader_art_coding_introduction.frag.msl b/data/shaders/shader_art_coding_introduction/shader_art_coding_introduction.frag.msl similarity index 100% rename from shaders/shader_art_coding_introduction/shader_art_coding_introduction.frag.msl rename to data/shaders/shader_art_coding_introduction/shader_art_coding_introduction.frag.msl diff --git a/shaders/shader_art_coding_introduction/shader_art_coding_introduction.frag.spv b/data/shaders/shader_art_coding_introduction/shader_art_coding_introduction.frag.spv similarity index 100% rename from shaders/shader_art_coding_introduction/shader_art_coding_introduction.frag.spv rename to data/shaders/shader_art_coding_introduction/shader_art_coding_introduction.frag.spv diff --git a/shaders/shader_art_coding_introduction/shader_art_coding_introduction.gl.glsl b/data/shaders/shader_art_coding_introduction/shader_art_coding_introduction.gl.glsl similarity index 100% rename from shaders/shader_art_coding_introduction/shader_art_coding_introduction.gl.glsl rename to data/shaders/shader_art_coding_introduction/shader_art_coding_introduction.gl.glsl diff --git a/shaders/shader_art_coding_introduction/shader_art_coding_introduction.vk.glsl b/data/shaders/shader_art_coding_introduction/shader_art_coding_introduction.vk.glsl similarity index 100% rename from shaders/shader_art_coding_introduction/shader_art_coding_introduction.vk.glsl rename to data/shaders/shader_art_coding_introduction/shader_art_coding_introduction.vk.glsl diff --git a/shaders/test/meta.txt b/data/shaders/test/meta.txt similarity index 100% rename from shaders/test/meta.txt rename to data/shaders/test/meta.txt diff --git a/shaders/test/test.frag.msl b/data/shaders/test/test.frag.msl similarity index 100% rename from shaders/test/test.frag.msl rename to data/shaders/test/test.frag.msl diff --git a/shaders/test/test.frag.spv b/data/shaders/test/test.frag.spv similarity index 100% rename from shaders/test/test.frag.spv rename to data/shaders/test/test.frag.spv diff --git a/shaders/test/test.gl.glsl b/data/shaders/test/test.gl.glsl similarity index 100% rename from shaders/test/test.gl.glsl rename to data/shaders/test/test.gl.glsl diff --git a/shaders/test/test.vk.glsl b/data/shaders/test/test.vk.glsl similarity index 100% rename from shaders/test/test.vk.glsl rename to data/shaders/test/test.vk.glsl diff --git a/shaders/water/meta.txt b/data/shaders/water/meta.txt similarity index 100% rename from shaders/water/meta.txt rename to data/shaders/water/meta.txt diff --git a/shaders/water/water.frag.msl b/data/shaders/water/water.frag.msl similarity index 100% rename from shaders/water/water.frag.msl rename to data/shaders/water/water.frag.msl diff --git a/shaders/water/water.frag.spv b/data/shaders/water/water.frag.spv similarity index 100% rename from shaders/water/water.frag.spv rename to data/shaders/water/water.frag.spv diff --git a/shaders/water/water.gl.glsl b/data/shaders/water/water.gl.glsl similarity index 100% rename from shaders/water/water.gl.glsl rename to data/shaders/water/water.gl.glsl diff --git a/shaders/water/water.vk.glsl b/data/shaders/water/water.vk.glsl similarity index 100% rename from shaders/water/water.vk.glsl rename to data/shaders/water/water.vk.glsl diff --git a/src/audio/jail_audio.cpp b/source/audio/jail_audio.cpp similarity index 100% rename from src/audio/jail_audio.cpp rename to source/audio/jail_audio.cpp diff --git a/src/audio/jail_audio.hpp b/source/audio/jail_audio.hpp similarity index 100% rename from src/audio/jail_audio.hpp rename to source/audio/jail_audio.hpp diff --git a/src/defines.hpp b/source/defines.hpp similarity index 100% rename from src/defines.hpp rename to source/defines.hpp diff --git a/third_party/glad/include/KHR/khrplatform.h b/source/external/glad/include/KHR/khrplatform.h similarity index 100% rename from third_party/glad/include/KHR/khrplatform.h rename to source/external/glad/include/KHR/khrplatform.h diff --git a/third_party/glad/include/glad/glad.h b/source/external/glad/include/glad/glad.h similarity index 100% rename from third_party/glad/include/glad/glad.h rename to source/external/glad/include/glad/glad.h diff --git a/third_party/glad/src/glad.c b/source/external/glad/src/glad.c similarity index 100% rename from third_party/glad/src/glad.c rename to source/external/glad/src/glad.c diff --git a/third_party/stb_vorbis.c b/source/external/stb_vorbis.c similarity index 100% rename from third_party/stb_vorbis.c rename to source/external/stb_vorbis.c diff --git a/third_party/stb_vorbis_impl.cpp b/source/external/stb_vorbis_impl.cpp similarity index 100% rename from third_party/stb_vorbis_impl.cpp rename to source/external/stb_vorbis_impl.cpp diff --git a/src/main.cpp b/source/main.cpp similarity index 99% rename from src/main.cpp rename to source/main.cpp index 9be6f51..a8d247f 100644 --- a/src/main.cpp +++ b/source/main.cpp @@ -398,7 +398,7 @@ int main(int argc, char** argv) { target_folder = arg_path; shaders_directory_ = arg_path.parent_path(); } else { - shaders_directory_ = std::filesystem::path(resources_dir) / "shaders"; + shaders_directory_ = std::filesystem::path(resources_dir) / "data" / "shaders"; target_folder = shaders_directory_ / shaderPath; } @@ -423,7 +423,7 @@ int main(int argc, char** argv) { } if (!found_shader) { - const std::filesystem::path default_folder = std::filesystem::path(resources_dir) / "shaders" / "test"; + const std::filesystem::path default_folder = std::filesystem::path(resources_dir) / "data" / "shaders" / "test"; for (size_t i = 0; i < shader_list_.size(); ++i) { if (shader_list_[i].folder == default_folder) { initial_index = i; diff --git a/src/rendering/opengl_shader_backend.cpp b/source/rendering/opengl_shader_backend.cpp similarity index 100% rename from src/rendering/opengl_shader_backend.cpp rename to source/rendering/opengl_shader_backend.cpp diff --git a/src/rendering/opengl_shader_backend.hpp b/source/rendering/opengl_shader_backend.hpp similarity index 100% rename from src/rendering/opengl_shader_backend.hpp rename to source/rendering/opengl_shader_backend.hpp diff --git a/src/rendering/sdl3gpu/sdl3gpu_shader_backend.cpp b/source/rendering/sdl3gpu/sdl3gpu_shader_backend.cpp similarity index 100% rename from src/rendering/sdl3gpu/sdl3gpu_shader_backend.cpp rename to source/rendering/sdl3gpu/sdl3gpu_shader_backend.cpp diff --git a/src/rendering/sdl3gpu/sdl3gpu_shader_backend.hpp b/source/rendering/sdl3gpu/sdl3gpu_shader_backend.hpp similarity index 100% rename from src/rendering/sdl3gpu/sdl3gpu_shader_backend.hpp rename to source/rendering/sdl3gpu/sdl3gpu_shader_backend.hpp diff --git a/src/rendering/sdl3gpu/shader_factory.hpp b/source/rendering/sdl3gpu/shader_factory.hpp similarity index 100% rename from src/rendering/sdl3gpu/shader_factory.hpp rename to source/rendering/sdl3gpu/shader_factory.hpp diff --git a/src/rendering/shader_backend.cpp b/source/rendering/shader_backend.cpp similarity index 100% rename from src/rendering/shader_backend.cpp rename to source/rendering/shader_backend.cpp diff --git a/src/rendering/shader_backend.hpp b/source/rendering/shader_backend.hpp similarity index 100% rename from src/rendering/shader_backend.hpp rename to source/rendering/shader_backend.hpp