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

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- OpenGL (https://hlfx.ru/forum/forumdisplay.php?forumid=7)
-- Построение VBO и оптимизация меша (https://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

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

Цитата:

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


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

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

__________________
-Brain is dead-


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

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

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

__________________
My Projects: download page

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

Цитата:

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


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

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

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

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


Отправлено ncuxonaT 08-07-2018 в 22: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 в 15:27:

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


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

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

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!


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

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


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

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

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!


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

XaeroX Fortran-1488!

__________________
My Projects: download page

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

Цитата:

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


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

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


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

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

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


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

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