PMG

Форумы по созданию игр
Текущее время: 28 мар 2024 19:29

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Open GL :: UI Basic's :: how draw it more fast?
СообщениеДобавлено: 10 сен 2010 20:36 
Не в сети
Новичок

Зарегистрирован: 10 сен 2010 18:16
Сообщения: 2
Доброго времени суток!
Разбираюсь с 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?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Open GL :: UI Basic's :: how draw it more fast?
СообщениеДобавлено: 13 сен 2010 16:04 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
VBO. Текст через текстуру.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Open GL :: UI Basic's :: how draw it more fast?
СообщениеДобавлено: 14 сен 2010 02:12 
Не в сети
Опытный

Зарегистрирован: 02 ноя 2008 02:36
Сообщения: 116
Откуда: Kiev
VBO, забудь про glBegin\glEnd!

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Open GL :: UI Basic's :: how draw it more fast?
СообщениеДобавлено: 08 дек 2010 19:41 
Не в сети
Новичок

Зарегистрирован: 10 сен 2010 18:16
Сообщения: 2
Спасибо, MagicWolf и Da Man за ответы.

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Open GL :: UI Basic's :: how draw it more fast?
СообщениеДобавлено: 14 дек 2010 15:31 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Четырехугольниками с прозрачностью. http://pmg.org.ru/nehe/nehe15.htm

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB