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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user