MagicWolf писал(а):
Так какая глубина. Какова сбалансированость - проверь! Может здесь причина уменьшения быстродействия.
Да точно здесь (отвечаю без проверки). Там от сбалансированности далеко не линейно зависит быстродействие. Но это быстродействие при рендеринге. Её (скорость рендеринга) можно увеличить, выдав приоритет (и дополнительное ЦП-время) построению дерева. Но это тоже критично
MagicWolf писал(а):
X00.000 полигонов - не шибко ли много для BSP? Как насчет низкополигоной графики?
Не шибко. Там фигуры часто попадаются такие, что поверхности почти (!!!) совпадают. ДА и в одной фигуре, есть "изгибы внутрь", треугольники которых рассекают своих соседей. И изгибы очень красивые (плавненькие) и соседи подроблены получаются очень мелко. Этого можно избежать, но... Время построения дерева?
MagicWolf писал(а):
Значит треугольники на стыках друг на друга наезжают. А это связано с тем, что точность при расчета OGL не позволяет их разделить.
Координаты вершин треугольников. Разводить их друг от друга.
А это не приведет к еще большим "зазорам"?
MagicWolf писал(а):
Глюк твой! Ты просто это не учитываешь. Про это что-то было на opengl.com - надо поискать тебе ...
Намек дашь, что искать? Точность рендера OGL?
MagicWolf писал(а):
Глюк видимо вот в чем. Берешь две поверхности и совмещаешь их друг с другом или пускай они находятся друг от друга на маленьком расстоянии. Рендеришь и водишь камерой - получишь то, что иногда они пикселы с одной поверхности будут переезжать в другую.
Я В ШОКЕ! Чего я не ожидал, так такой засады... Поставил 3 треугольника.
Код:
glBegin(GL_TRIANGLES);
glVertex3f(-100.0f, 100.0f, 0.0f);
glVertex3f(-100.0f, -100.0f, 0.0f);
glVertex3f(100.0f, 100.0f, 0.0f);
glEnd();
glBegin(GL_TRIANGLES);
glVertex3f(100.0f, 100.0f, 0.0f);
glVertex3f(0.0f, 0.0f, 0.0f);
glVertex3f(100.0f, -100.0f, 0.0f);
glEnd();
glBegin(GL_TRIANGLES);
glVertex3f(0.0f, 0.0f, 0.0f);
glVertex3f(-100.0f, -100.0f, 0.0f);
glVertex3f(100.0f, -100.0f, 0.0f);
glEnd();
МЕЖДУ НИМИ
ТАКАЯ !!!! ШЕЛЬ!!!
Я поражен точностью. Кстати, шель между первым и 2-мя оставшимися. А между этими 2 (последними) гладко!
Хотя, надо признать, что перевод этого же примера на double помогло в лучшую сторону (щель чуть-чуть уменьшилась
). Н-да... Офигенно обрадовал. Теперь я точно не знаю, что делать. Если он на таком простом примере мне фиги показывает...