Войти
OpenGL communityФорумВопросы по программированию

OpenGL 1.1, 2d игра, верно ли всё выводить через GL_TRIANGLES?

#0
20:51, 20 июля 2013

Привет.

В 2d игре для спрайтов беру квады + текстура, где квад - это два треугольника. Т.е. на спрайт уходит 4 вершины, 6 индексов. Сейчас читаю форум, вижу некоторые советы выводить буковки через GL_QUADS.
Может более верно было бы строить квад для спрайтов как 4 вершины без "лишних" индексов и выводить как GL_QUADS?

Переделывать уже очень не хочется, но если это вдруг даст большой профит в производительности, то стоит потратить время.


#1
21:11, 20 июля 2013

Ещё бы хотелось в догонку вопрос о производительности 2d спрайтов в OpenGL 1.1. буфер глубины отключил - спрайты просто выводятся в том же порядке, в каком добавлены в контейнер. Получается, что fillrate видеокарты сильно проседать будет? Или забить и так и оставить?

#2
2:41, 21 июля 2013

Riddik
По порядку:
1. GL_QUADS это сахар, драйвер за тебя просто потом бьет на треугольники их, так что никакой выгоды тут не получишь.
2. По-науке тебе надо сделать так, разделяешь свои спрайты на те что с блендингом (прозрачность, например) и те что без, сначала рисуешь те что без блендинга, потом те что с бленднгом. Z-buffer не отключай, но спрайты с блендингом отсортируй по глубине относительно камеры, тогда все будет ок.

#3
13:20, 21 июля 2013

квады
лишний расход на треангуляцию

рисуй в треангалх


сортируй
сначала непрохрачные
потом прозрачные

#4
13:54, 21 июля 2013

KpeHDeJIb
The Andreyp
Спасибо!

OpenGL communityФорумВопросы по программированию

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