refactor: eliminar sistema de shaders externos (ShaderManager + GpuShaderPreset)

Elimina el sistema multi-pass de shaders runtime en favor del PostFX nativo.
Queda solo el ciclo de 5 modos nativos: OFF → Vinyeta → Scanlines → Cromàtica → Complet.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-20 17:08:08 +01:00
parent 8dde13409b
commit c052b45a60
24 changed files with 20 additions and 1512 deletions

View File

@@ -64,61 +64,6 @@ if(NOT APPLE)
endforeach()
add_custom_target(shaders ALL DEPENDS ${SPIRV_HEADERS})
# External runtime shaders: auto-discover and compile data/shaders/**/*.vert/*.frag
# Output: <source>.spv alongside each source file (loaded at runtime by GpuShaderPreset)
file(GLOB_RECURSE DATA_SHADERS
"${CMAKE_SOURCE_DIR}/data/shaders/**/*.vert"
"${CMAKE_SOURCE_DIR}/data/shaders/**/*.frag")
set(DATA_SHADER_SPVS)
foreach(SHADER_FILE ${DATA_SHADERS})
get_filename_component(SHADER_EXT "${SHADER_FILE}" EXT)
if(SHADER_EXT STREQUAL ".vert")
set(STAGE_FLAG "-fshader-stage=vertex")
else()
set(STAGE_FLAG "-fshader-stage=fragment")
endif()
set(SPV_FILE "${SHADER_FILE}.spv")
add_custom_command(
OUTPUT "${SPV_FILE}"
COMMAND "${GLSLC}" ${STAGE_FLAG} -o "${SPV_FILE}" "${SHADER_FILE}"
DEPENDS "${SHADER_FILE}"
COMMENT "Compiling ${SHADER_FILE}"
)
list(APPEND DATA_SHADER_SPVS "${SPV_FILE}")
endforeach()
if(DATA_SHADER_SPVS)
add_custom_target(data_shaders ALL DEPENDS ${DATA_SHADER_SPVS})
endif()
endif()
# macOS: transpile .spv → .msl for GpuShaderPreset
if(APPLE)
find_program(SPIRV_CROSS spirv-cross)
if(SPIRV_CROSS)
file(GLOB_RECURSE DATA_SHADER_SPVS
"${CMAKE_SOURCE_DIR}/data/shaders/*.vert.spv"
"${CMAKE_SOURCE_DIR}/data/shaders/*.frag.spv"
)
set(DATA_SHADER_MSLS)
foreach(SPV_FILE ${DATA_SHADER_SPVS})
set(MSL_FILE "${SPV_FILE}.msl")
add_custom_command(
OUTPUT "${MSL_FILE}"
COMMAND "${SPIRV_CROSS}" --msl --output "${MSL_FILE}" "${SPV_FILE}"
DEPENDS "${SPV_FILE}"
COMMENT "Transpiling ${SPV_FILE} to MSL"
)
list(APPEND DATA_SHADER_MSLS "${MSL_FILE}")
endforeach()
if(DATA_SHADER_MSLS)
add_custom_target(data_shader_msls ALL DEPENDS ${DATA_SHADER_MSLS})
endif()
else()
message(STATUS "spirv-cross not found — GpuShaderPreset will not work on macOS (run: brew install spirv-cross)")
endif()
endif()
# Archivos fuente (excluir main_old.cpp)
@@ -160,13 +105,6 @@ target_link_libraries(${PROJECT_NAME} ${LINK_LIBS})
if(NOT APPLE)
add_dependencies(${PROJECT_NAME} shaders)
target_include_directories(${PROJECT_NAME} PRIVATE "${SHADER_GEN_DIR}")
if(TARGET data_shaders)
add_dependencies(${PROJECT_NAME} data_shaders)
endif()
endif()
if(APPLE AND TARGET data_shader_msls)
add_dependencies(${PROJECT_NAME} data_shader_msls)
endif()
# Tool: pack_resources