Войти
ПрограммированиеФорумОбщее

OpenGL самый старт. C++. VBO, VAO. Как правильно обрабатывать N объектов. (2 стр)

Страницы: 1 2
#15
6:22, 13 авг. 2017

Ну в принципе вы говорите обьектов мало, значит в принципе вариант вообще оставить оптимизацию и спокойно делать vbo под каждый спрайт.


#16
9:32, 13 авг. 2017

AccumPlus
> Может быть в будущем мне попадётся пример программы
Посмотрите исходники libgdx или raylib , в них реализовано VBO с  лучшей  оптимизацией, т.к они  компилится не только на десктоп, но и на смартфоны. А raylib можно легко подключить к вашему с++ проекту, он модульный,понадобится rlgl и textures если надо 2D спрайты.
А если вам до пары тыщь обьектов,то не заморачивайтесь с оптимизацией.За нас уже всё сделано и оптимизировано,бесполезно пытаться делать лучше.

#17
9:30, 14 авг. 2017

Ivashka
> Ну в принципе вы говорите обьектов мало, значит в принципе вариант вообще
> оставить оптимизацию и спокойно делать vbo под каждый спрайт.
Пока что сделал под каждый экземпляр. Разобрался кстати с трансформацией, так что да, не приходится каждый раз обновлять VBO - всё делается в шейдерах.

Правда меня смущает, что координаты всех объектов задаются в отрезке [-1;1]. И к этому конечно можно привыкнуть, но чисто для человека приятнее работать с "более целыми" числами. Не знаете, как это настроить?

Помимо этого, координата [-1;-1] - левый нижний угол viewPort-а, [1;1] - правый верхний. Если viewPort имеет размеры [1000;100], то мой треугольник будет растянут по горизонтали. Если не ошибаюсь, то это называется неоднородной размерностью (когда единица по оси X не равна единице по оси Y). Можно ли как-то сделать некую область с однородными координатами? Ведь в большинстве игр я могу в настройках указать разрешение, но при этом картинка не сужается и не растягивается. Ладно, в полноэкранном режиме она может сузиться, если указать горизонтальное разрешение больше, чем разрешение экрана, но если указать меньше, то добавляются чёрные полосы слева и справа.

#18
9:32, 14 авг. 2017

dzanis
> Посмотрите исходники libgdx или raylib , в них реализовано VBO с лучшей
> оптимизацией, т.к они компилится не только на десктоп, но и на смартфоны. А
> raylib можно легко подключить к вашему с++ проекту, он модульный,понадобится
> rlgl и textures если надо 2D спрайты.
> А если вам до пары тыщь обьектов,то не заморачивайтесь с оптимизацией.За нас
> уже всё сделано и оптимизировано,бесполезно пытаться делать лучше.

Понял вас, посмотрю, спасибо!

#19
13:09, 14 авг. 2017

AccumPlus
Дело в проекции. в ортографической проекции вариант сделать в координатах плоскости экрана. На счёт одинаковых пределов по вертикали и горизонтали, это aspect ration (соотношение сторон), почитайте про тот же пикинг и вообще основы opengl.

#20
20:05, 19 авг. 2017

Ivashka
> Дело в проекции. в ортографической проекции вариант сделать в координатах
> плоскости экрана. На счёт одинаковых пределов по вертикали и горизонтали, это
> aspect ration (соотношение сторон), почитайте про тот же пикинг и вообще основы
> opengl.

Хорошо, спасибо!

Страницы: 1 2
ПрограммированиеФорумОбщее

Тема в архиве.