Наше комьюнити:   OpenGL Shader Lab  •  Half-Life FX  •  Форум  
HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > OpenGL > Построение VBO и оптимизация меша
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
ncuxonaT
каков стол, таков и стул

Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 349
Возраст: 28

Рейтинг



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

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

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

Сообщить модератору | | IP: Записан
Сообщение: 161989

Старое сообщение 30-11-2016 23:34
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 21908
Нанёс повреждений: 360 ед.

Рейтинг



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

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

My Projects: download page

Сообщить модератору | | IP: Записан
Сообщение: 162001

Старое сообщение 01-12-2016 08:38
-
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 1750

Рейтинг



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

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 162031

Старое сообщение 01-12-2016 16:23
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 21908
Нанёс повреждений: 360 ед.

Рейтинг



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

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

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

My Projects: download page

Сообщить модератору | | IP: Записан
Сообщение: 162032

Старое сообщение 01-12-2016 16:30
-
ncuxonaT
каков стол, таков и стул

Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 349
Возраст: 28

Рейтинг



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

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

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

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

Сообщить модератору | | IP: Записан
Сообщение: 162181

Старое сообщение 05-12-2016 23:55
- За что?
ncuxonaT
каков стол, таков и стул

Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 349
Возраст: 28

Рейтинг



Не знаю, куда написать, оставлю здесь. Может, пригодится кому.
Столкнулся с неожиданной ерундой при создании 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.

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

Сообщить модератору | | IP: Записан
Сообщение: 173285

Старое сообщение 08-07-2018 23:48
- За что?
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 2016

Рейтинг



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

Сообщить модератору | | IP: Записан
Сообщение: 173289

Старое сообщение 09-07-2018 16:27
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Новосибирск
Сообщений: 28130
Нанёс повреждений: 466 ед.
Возраст: 32

Рейтинг



Награды
 
[1 награда]


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.'

Сообщить модератору | | IP: Записан
Сообщение: 173290

Старое сообщение 09-07-2018 16:33
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 2016

Рейтинг



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

Сообщить модератору | | IP: Записан
Сообщение: 173291

Старое сообщение 09-07-2018 16:38
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Новосибирск
Сообщений: 28130
Нанёс повреждений: 466 ед.
Возраст: 32

Рейтинг



Награды
 
[1 награда]


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.'

Сообщить модератору | | IP: Записан
Сообщение: 173294

Старое сообщение 10-07-2018 04:39
-
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 21908
Нанёс повреждений: 360 ед.

Рейтинг



XaeroX Fortran-1488!

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

My Projects: download page

Сообщить модератору | | IP: Записан
Сообщение: 173298

Старое сообщение 10-07-2018 08:27
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 2016

Рейтинг



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

Сообщить модератору | | IP: Записан
Сообщение: 173300

Старое сообщение 10-07-2018 09:09
- За что?
Garux
Частый гость

Дата регистрации: Mar 2015
Проживает: Металлострой
Сообщений: 95

Рейтинг



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

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

Сообщить модератору | | IP: Записан
Сообщение: 173321

Старое сообщение 13-07-2018 20:14
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 22:15. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > OpenGL > Построение VBO и оптимизация меша
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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

Рейтинг@Mail.ru