Я пытаюсь визуализировать кисти из файла Source Engine .vmf
на C ++, используя OpenGL.
.vmf
хранит твердые кисти в виде серии плоскостей, которые я хотел бы использовать для вычисления точек для каждой кисти. Я почти уверен, что это будет сделано точно так же, как и для всех .map
файлов на движке Quake.
По сути, каждая точка кисти - это точка пересечения трех плоскостей. Я нашел аналогичный свой вопрос по stackoverflow, и объяснение состоит в том, чтобы получить единичные нормали для трех плоскостей, а затем использовать уравнение 8 на этой странице mathworld.wolfram.com/Plane-PlaneIntersection.html. Моя проблема в том, что я понятия не имею, как это реализовать
Вот код для одинарной 6-сторонней кисти в форме куба:
"plane" "(0 0 256) (0 256 256) (256 256 256)"
"plane" "(0 256 0) (0 0 0) (256 0 0)"
"plane" "(0 0 0) (0 256 0) (0 256 256)"
"plane" "(256 256 0) (256 0 0) (256 0 256)"
"plane" "(0 256 0) (256 256 0) (256 256 256)"
"plane" "(256 0 0) (0 0 0) (0 0 256)"
Я действительно не знаю, с чего начать, любая помощь будет оценена, спасибо.