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

HLFX.Ru Forum (http://hlfx.ru/forum/index.php)
- OpenGL (http://hlfx.ru/forum/forumdisplay.php?forumid=7)
-- Построение VBO и оптимизация меша (http://hlfx.ru/forum/showthread.php?threadid=4899)


Отправлено ncuxonaT 30-11-2016 в 23:34:

Построение VBO и оптимизация меша

Здравствуйте, товарищи!
Мой запекатель лайтмап загружает модель в формате OBJ и строит VBO по-тупому, так что у каждого треугольника получаются 3 индивидуальные вершины. То есть, если у той же спонзы 250К треугольников, то вершин в VBO будет 750К. У меня вопрос, имеет ли смысл строить VBO правильно, чтобы у треугольников были общие вершины? Какого прироста производительности можно ждать от сокращения количества вершин, например, вдвое при неизменном количестве треугольников?
И аналогичный вопрос по поводу оптимизации меша каким-нибудь AMD Tootle. Имеет ли она смысл?

__________________
...А еще нельзя ли стопку,
Потому как молодец?


Отправлено Дядя Миша 01-12-2016 в 08:38:

ну вообще стрипы хорошо увеличивают фпс.

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page


Отправлено KiQ 01-12-2016 в 16:23:

Индекс-буфер вручную строить это ад. Такие данные должны запекаться в модель

__________________
-Brain is dead-


Отправлено Дядя Миша 01-12-2016 в 16:30:

Цитата:
KiQ писал:
Индекс-буфер вручную строить это ад

Теперь мне понятно, почему у тебя 20 фпс на той стенке.

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page


Отправлено ncuxonaT 05-12-2016 в 23:55:

Хм, запилил нормальное индексирование вершин, производительность на тяжелых сценах типа спонзы выросла на 30% (при уменьшении числа вершин в ВБО в 2-4 раза). Неплохо, неплохо. Посмотрим, что дадут стрипы.

Цитата:
KiQ писал:
Индекс-буфер вручную строить это ад.

Да вроде ничего сложного. Если искать дубли вершин не простым перебором, а через дерево, то даже довольно быстро выходит.

__________________
...А еще нельзя ли стопку,
Потому как молодец?


Отправлено ncuxonaT 08-07-2018 в 23:48:

Не знаю, куда написать, оставлю здесь. Может, пригодится кому.
Столкнулся с неожиданной ерундой при создании VBO для меша с 250к треугольников. Суть в том, что меш рендерился криво, хотя все данные в буферы загружались верные. VBO создавалось примерно так:

code:
glGenBuffers(1, @VBOId); glBindBuffer(GL_ARRAY_BUFFER, VBOId); glBufferData(GL_ARRAY_BUFFER, sizeof(GLFLoat) * 3 * Count, @VBOSingleBuff[0], GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0);

Так вот, оказалось, нулевой буфер биндился до того, как glBufferData успевал загрузить все данные. Решение простое - добавить glFinish после glBufferData.

__________________
...А еще нельзя ли стопку,
Потому как молодец?


Отправлено nemyax 09-07-2018 в 16:27:

Что за собаки в "@VBOId" и "@VBOSingleBuff[0]"?


Отправлено XaeroX 09-07-2018 в 16:33:

nemyax
Оператор взятия адреса же. Ты шо, в школе Паскаль не сдавал?

__________________
So she began again: 'Où est ma chatte?' which was the first sentence in her French lesson-book. The Mouse gave a sudden leap out of the water, and seemed to quiver all over with fright. 'Oh, I beg your pardon!' cried Alice hastily, afraid that she had hurt the poor animal's feelings. 'I quite forgot you didn't like cats.'


Отправлено nemyax 09-07-2018 в 16:38:

Так это не си? 0_о
А как же sizeof и всё такое? И не было в моей школе никаких клятых паскалей.


Отправлено XaeroX 10-07-2018 в 04:39:

nemyax
А что в твоей школе было? Fortran-77?

__________________
So she began again: 'Où est ma chatte?' which was the first sentence in her French lesson-book. The Mouse gave a sudden leap out of the water, and seemed to quiver all over with fright. 'Oh, I beg your pardon!' cried Alice hastily, afraid that she had hurt the poor animal's feelings. 'I quite forgot you didn't like cats.'


Отправлено Дядя Миша 10-07-2018 в 08:27:

XaeroX Fortran-1488!

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page


Отправлено nemyax 10-07-2018 в 09:09:

XaeroX
Школьный алгоритмический язык ШАЯ!
А если серьёзно, программированием у нас в школе вообще не пахло. Зато сиськи у информатички были закачаешься. Возможно, эти два момента как-то связаны, но я не могу понять как.


Отправлено Garux 13-07-2018 в 20:14:

Цитата:
ncuxonaT писал:
Решение простое - добавить glFinish после glBufferData.

Полезное знание, однако выглядит как %yourvendor% driver bug detour


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

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