PMG
https://forum.pmg.org.ru/

Open GL :: UI Basic's :: how draw it more fast?
https://forum.pmg.org.ru/viewtopic.php?f=1&t=8040
Страница 1 из 1

Автор:  glPainter [ 10 сен 2010 20:36 ]
Заголовок сообщения:  Open GL :: UI Basic's :: how draw it more fast?

Доброго времени суток!
Разбираюсь с OpenGLом и решил после написания нескольких программ объединить весь предыдущий функционал (функции/классы) в некоторую заготовку для последующих изысканий и манипуляций с оGLом.
Задумался над UI и соответственно самыми простыми ф-ями наподобие: нарисовать - прямоугольник, текст. Уже на базе этих двух можно будет строить более сложные UI-объекты, такие как - окна, поля ввода, списки.

В связи с этим хотел поинтересоваться, как достичь максимальной скорости при прорисовке этих “базовых” так сказать элементов?

Т.е. вопрос можно сформулировать так:
1. Как наиболее быстро прорисовать прямоугольник?
a) -стоит ли рисовать его так:
Код:
void Rect (int x, int y, int w, int h) {
glBegin(GL_QUADS);
   glTexCoord2f(0, 1);   glVertex2i(x,y);
   glTexCoord2f(0, 0);   glVertex2i(x,y+h);
   glTexCoord2f(1, 0);   glVertex2i(x+w,y+h);
   glTexCoord2f(1, 1);   glVertex2i(x+w,y);
glEnd();

b) - либо же пользоваться связкой:
glVertexPointer/glColorPointer/glNormalPointer или лучше пользоваться одной командой void glInterleavedArrays
c) - а может вообще VBO собрать и отправить в видео память? только как переместить VBO в Orto режиме на заданное кол-во пикселей или пересобрать каждый раз?

2. Как наиболее быстро прорисовать текст?
Пока что рисую текст, так как продемонстрировано в «Урок(е) 13. Растровые шрифты».
Это наиболее быстрый способ отображения текста в контексте GL?

Ознакомившимся с проблематикой спасибо! Если есть мысли напишите. Буду признателен.)

Автор:  MagicWolf [ 13 сен 2010 16:04 ]
Заголовок сообщения:  Re: Open GL :: UI Basic's :: how draw it more fast?

VBO. Текст через текстуру.

Автор:  Da Man [ 14 сен 2010 02:12 ]
Заголовок сообщения:  Re: Open GL :: UI Basic's :: how draw it more fast?

VBO, забудь про glBegin\glEnd!

Цитата:
только как переместить VBO в Orto режиме на заданное кол-во пикселей или пересобрать каждый раз?

В шейдер отправить матрицу трансформации :) Про FFP тоже можешь забывать, даже мобильники уже давно как держат шейдеры ;)

Автор:  glPainter [ 08 дек 2010 19:41 ]
Заголовок сообщения:  Re: Open GL :: UI Basic's :: how draw it more fast?

Спасибо, MagicWolf и Da Man за ответы.

Я так понимаю для того чтобы добиться максимальной скорости прорисовки надо использовать

VBO + IB все это в связке с VAO - сейчас разбираюсь с этим.

а вот насчет текста через текстуру интересно, а есть примеры?
как я понимаю в текстуру рендерится набор символов шрифта и затем текстура используется... а вот как сам вывод текста на экран происходит тут непонятно(?

Автор:  MagicWolf [ 14 дек 2010 15:31 ]
Заголовок сообщения:  Re: Open GL :: UI Basic's :: how draw it more fast?

Четырехугольниками с прозрачностью. http://pmg.org.ru/nehe/nehe15.htm

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/