Состояние на момент заведения репозитория. C++ приложение (src/, shaders/, tests/) — минимальный редактор 3D-моделей на Vulkan 1.3: орбитальная камера, три опорные сетки через начало координат, загрузка .obj с режимами отображения. Весь Vulkan изолирован в src/vk/. Исследование (docs/) — оригинальные статьи по KBC (docs/origins) и Python-решатель D2Q9 KBC-N1 с AMR 2x и SDF+Bouzidi (docs/theory). В решателе перед коммитом исправлены дефекты, найденные сверкой с первоисточниками: относительный порог знаменателя энтропийного стабилизатора (абсолютный вырождал KBC в LBGK на 77-99% узлов), заворот вход/выход в углах домена, диагностика средней плотности по фиктивным узлам тела, зашитый refine=2. Подробности — docs/theory/solver_2x_sdf/README.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
18 lines
686 B
CMake
18 lines
686 B
CMake
# Collect all shader sources and feed them to the simv_shaders custom target.
|
|
file(GLOB_RECURSE SHADER_SOURCES CONFIGURE_DEPENDS
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/editor/*.vert"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/editor/*.frag"
|
|
)
|
|
|
|
if(SHADER_SOURCES)
|
|
# INCLUDE root is `shaders/` so that #include "common/foo.glsl" would resolve
|
|
# to shaders/common/foo.glsl if a shader needs a shared helper.
|
|
simv_compile_shaders(simv_shaders
|
|
${SHADER_SOURCES}
|
|
INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}"
|
|
)
|
|
else()
|
|
# Empty placeholder so dependent targets don't break when no shaders exist yet.
|
|
add_custom_target(simv_shaders ALL COMMAND ${CMAKE_COMMAND} -E true)
|
|
endif()
|