HLFX.Ru Forum
Показать все 4 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- OpenGL (https://hlfx.ru/forum/forumdisplay.php?forumid=7)
-- Вопросы по HLBSP. (https://hlfx.ru/forum/showthread.php?threadid=1838)


Отправлено FiEctro 27-05-2009 в 19:15:

Post Вопросы по HLBSP.

Вообщем я не могу понять одну принципиальную вещь. Какой тип BSP юзается в HL? Есть Node BSP, а есть Leaf BSP. В принципе должно быть Leaf (т.к. именно этот тип юзается первоквакой и всеми остальными). Но тогда непонятно, нафига в Node присутствуют фейсы?

Также неясно, что такое marksurface в leaf.

Ещё вопрос: что такое side в фейсе и что такое float dist; в Plane?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 27-05-2009 в 19:36:

BSP - Binary Spacing Partition Tree - он ровно один во всех трех кваках.
Ноды - невидимые части дерева, листья - видимые.

Цитата:
Есть Node BSP, а есть Leaf BSP

Откуда сей перл взялся мне неведомо.
side в face ниоткуда взяться не может. Если же вы имеете в виду
short side; то это индикатор обратного или прямого фейса.
Компилятор использует информацию при рассчете лайтмап, дле рендера
это значение всегда воспринимается как булево - если равно еденичке,
то фейс обратный, если нулю, то прямой.
Если рисовать мир не учитывая эту переменную то нарисуется ровно половина мира (карты).
dist это дистанция.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено BUzer 27-05-2009 в 22:43:

FiEctro

Цитата:
нафига в Node присутствуют фейсы?
Также неясно, что такое marksurface в leaf.

Один фейс может входить в несколько leaf'ов, поэтому каждый leaf содержит не фейсы, а массив указателей на фейсы (это и есть marksufraces). А фейсы, соответственно, хранятся в нодах.

Цитата:
что такое float dist; в Plane?

Стандартное уравнение плоскости:
Ax + By + Cz + D = 0

Если а A B C подставить нормаль, а в D положить -dist, то получится уравнение плоскости этой поверхности.

Иными словами, если плоскость, имея некую нормаль, "изначально" проходит через точку {0, 0, 0}, то dist - это насколько надо её "сместить" по направлению нормали, чтобы она встала в свою реальную позицию.


Отправлено XaeroX 28-05-2009 в 08:06:

Цитата:
FiEctro писал:
и что такое float dist; в Plane?

Ты не можешь понять принципиальную вещь по причине незнания аналитической геометрии. BUzer не заменит тебе учебник.

__________________

xaerox on Vivino


Временная зона GMT. Текущее время 04:55.
Показать все 4 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024