Closed Triang3l closed 6 years ago
There are lots of other floating geometries that need wiping out or proper placing, and your idea is close to what I had in mind, but the major problem here is not an algorithm, but my lack of free time. The fact that the core of this thing, BSP.cpp, is a HORRIBLE FUCKING MESS kind of proves that -- I was thinking about cleaning it a little before making this public, but that would take me another eternity.
Anyway, this cleaning is a must before proceeding further and implementing fancy stuff.
Лень повторять :D. В общем, времени у меня нет совсем, и не знаю, когда будет :(. Если есть желание, можешь склонировать и сделать что-нибудь, а я потом запуллю или вообще дам доступ на запись. Но там, конечно, пиздец в BSP.cpp нужно причесать для начала.
Skyboxes were implemented with #25 in https://github.com/w23/OpenSource/commit/2a47e6beb1dc8dbcf29762604799d0cbd340db1f
I have an idea how to remove the skybox areas.
First, find the leaf in which info_player_start's "eyes" are placed. Push this leaf to the stack.
Then, until the stack is empty, repeat: 1) Pop leaf from the stack. 2) Mark popped leaf. 3) For each visible leaf of that leaf: 3.1) Check if it's not already marked. Proceed to 3.2 if it's not. 3.2) Push the visible leaf to the stack.
Then, make a mesh containing only polygons from the marked leaves.
What do you think?
У меня есть идея, как убрать скайбоксы.
Сначала, найди тот лист, в котором находятся "глаза" info_player_start'а. Положи его на стек.
Затем, пока стек не стал пустым, выполняй следующие действия: 1) Возьми лист со стека. 2) Отметь его. 3) С каждым видимым листом у этого листа: 3.1) Проверь, не был ли он отмечен ранее. Если нет, переходи к 3.2. 3.2) Положи этот лист на стек.
Потом, сделай меш, содержащий только полигоны из отмеченных листьев.
Как тебе идея?