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/ |