Состояние на момент заведения репозитория. 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
469 B
GLSL
18 lines
469 B
GLSL
#version 460
|
|
// Transforms model vertices by the MVP push constant. The model-space position
|
|
// is passed through so the fragment shader can derive a flat normal from it.
|
|
|
|
layout(location = 0) in vec3 inPos;
|
|
|
|
layout(push_constant) uniform PC {
|
|
mat4 mvp;
|
|
vec4 color; // .rgb base colour, .a = lit flag (1 = shaded, 0 = flat)
|
|
} pc;
|
|
|
|
layout(location = 0) out vec3 vModelPos;
|
|
|
|
void main() {
|
|
vModelPos = inPos;
|
|
gl_Position = pc.mvp * vec4(inPos, 1.0);
|
|
}
|