Здравствуйте, товарищи!
Мой запекатель лайтмап загружает модель в формате OBJ и строит VBO по-тупому, так что у каждого треугольника получаются 3 индивидуальные вершины. То есть, если у той же спонзы 250К треугольников, то вершин в VBO будет 750К. У меня вопрос, имеет ли смысл строить VBO правильно, чтобы у треугольников были общие вершины? Какого прироста производительности можно ждать от сокращения количества вершин, например, вдвое при неизменном количестве треугольников?
И аналогичный вопрос по поводу оптимизации меша каким-нибудь AMD Tootle. Имеет ли она смысл?
Хм, запилил нормальное индексирование вершин, производительность на тяжелых сценах типа спонзы выросла на 30% (при уменьшении числа вершин в ВБО в 2-4 раза). Неплохо, неплохо. Посмотрим, что дадут стрипы.
Цитата:
KiQ писал: Индекс-буфер вручную строить это ад.
Да вроде ничего сложного. Если искать дубли вершин не простым перебором, а через дерево, то даже довольно быстро выходит.
Не знаю, куда написать, оставлю здесь. Может, пригодится кому.
Столкнулся с неожиданной ерундой при создании VBO для меша с 250к треугольников. Суть в том, что меш рендерился криво, хотя все данные в буферы загружались верные. VBO создавалось примерно так:
Так вот, оказалось, нулевой буфер биндился до того, как glBufferData успевал загрузить все данные. Решение простое - добавить glFinish после glBufferData.
XaeroX
Школьный алгоритмический язык ШАЯ!
А если серьёзно, программированием у нас в школе вообще не пахло. Зато сиськи у информатички были закачаешься. Возможно, эти два момента как-то связаны, но я не могу понять как.