Войти
ПрограммированиеФорумГрафика

Пару вопросов по ОпенГЛ

Страницы: 1 2 321 22 Следующая »
#0
17:04, 23 июля 2013

Вопрос 1. Как удалить текстуру из памяти?
Вопрос 2. Есть куча объектов на экране. Нужно ли отправлять на рендер только те, которые попадают в экран или это делается автоматически?
Вопрос 3. Нужно ли для 2д использовать VBO?


#1
17:15, 23 июля 2013
Вопрос 1. Как удалить текстуру из памяти?
glDeleteTextures
Вопрос 2. Есть куча объектов на экране. Нужно ли отправлять на рендер только те, которые попадают в экран или это делается автоматически?

нужно
Вопрос 3. Нужно ли для 2д использовать VBO?

смотря какие точные цели
#2
17:18, 23 июля 2013

oxotnik

> Есть куча объектов на экране. Нужно ли отправлять на рендер только те, которые попадают в экран или это делается автоматически?

Все координаты объектов, которые не попадают в отрезок [-1.0; 1.0], после умножения на матрицу проекции, не рисуются на экране. Но чтобы шейдер не производил лишние умножения (координат тех объектов, которые не будут отрисованы, на матрицу проекции), можно их просто не передавать в шейдер (соответственно и не рисовать на экране), что даст прирост скорости отрисовки.

> Нужно ли для 2д использовать VBO?

VBO вообще использовать не обязательно, просто когда его используешь объекты располагаются в памяти графического ускорителя (видеокарты), а не копируются постоянно из оперативной памяти, что дает прирост производительности. Поэтому если тебе важна скорость работы, то используй VBO.

#3
21:40, 23 июля 2013
смотря какие точные цели

Например для платформера
#4
22:11, 23 июля 2013

думаю не критично будет

#5
13:51, 24 июля 2013

Вопрос 1. Как удалить текстуру из памяти?

glDeleteTextures
или если не охото терять сгенерированный заголовок
glTexImage2d(....0,0....,0); где ширина и высота = 0 указатль на данные тоже 0.

Вопрос 2. Есть куча объектов на экране. Нужно ли отправлять на рендер только те, которые попадают в экран или это делается автоматически?

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

Вопрос 3. Нужно ли для 2д использовать VBO?

Зависит от версии ОпенГЛ, для Core профиля да. Для обычного необязательно, но можно, так как всеравно будет быстрее.

Хотя если вам не нужна прозрачность и поворот спрайта, можно обойтись
glBlitFramebuffer
или
аналогами glCoptTexSubImage2d  для рендера в текстуру

#6
15:55, 19 авг. 2013
Чтоб не создавать новую тему, решил спросить в этой.

Вопрос 1. Можно ли как-то прогнать данные одной модели через разные шейдерные программы? (Например первый шейдер высчитывает координаты и накладывает текстуру, а второй рассчитывает освещение?)

Вопрос 2. Можно ли компилировать шейдеры заранее, а не во время выполнения программы? (Понимаю, что разные видеокарты могут компилировать шейдер по своему, соответственно скомпилированный шейдер может отличаться в итоге)

Вопрос 3. Как грамотнее всего выводить текст в OpenGL без использования сторонних библиотек?

#7
16:32, 19 авг. 2013

ialexbr
> Вопрос 1
нет(
но можно вынести общий код в отдельный шейдер. тогда в других шейдерах необходимо будет только объявить нужную функцию, ну и естественно, линковать шейдер с общим кодом с программами, использующими этот код.
ialexbr
> Вопрос 2
можно. шейдеры компилирует не видеокарта, а библиотека.
http://www.opengl.org/sdk/docs/man/xhtml/glShaderBinary.xml
ialexbr
> Вопрос 3
набор квадов с натянутыми на них текстурами букв. текстуру можно подготовить заранее или строить в рантайме из, например, FreeType шрифта.

#8
17:02, 19 авг. 2013

Feo, все ясно, спасибо

#9
15:09, 21 авг. 2013
Появилась еще парочка вопросов :)

Вопрос 1. Какую модель освещения лучше всего использовать? Какая дает более реалистичное изображение?
Вопрос 2. Хранятся ли в файлах .obj или .mtl данные о цвете вершин модели?
Вопрос 3. Как объединить результирующие данные от разных шейдеров в одни данные, для последующей отрисовки?

#10
18:34, 21 авг. 2013

ialexbr
> Вопрос 1. Какую модель освещения лучше всего использовать? Какая дает более реалистичное изображение?
Для разных материалов разные модели используются.

ialexbr
> Вопрос 2. Хранятся ли в файлах .obj или .mtl данные о цвете вершин модели?
Вроде нет.

ialexbr
> Вопрос 3. Как объединить результирующие данные от разных шейдеров в одни
> данные, для последующей отрисовки?
Рендер в текстуру, transform feedback.

#11
18:41, 21 авг. 2013

gammaker
> > Вопрос 2. Хранятся ли в файлах .obj или .mtl данные о цвете вершин модели?
> Вроде нет.
Хранятся. Читайте спеку.

#12
19:11, 21 авг. 2013

RPGman
> > > Вопрос 2. Хранятся ли в файлах .obj или .mtl данные о цвете вершин модели?
> > Вроде нет.
> Хранятся. Читайте спеку.
Тоже так думал. Но оказалось нет. Некоторые программы могут работать с цветом (н-р, MeshLab), но многие игнорируют.
http://ru.wikipedia.org/wiki/Obj

#13
19:18, 21 авг. 2013

RPGman
> Хранятся. Читайте спеку.
А ну мне просто obj не интересен, поэтому я в неё не смотрел.

#14
19:43, 21 авг. 2013

asvp
> Тоже так думал. Но оказалось нет.
То, что некоторые не умеют - не значит, что формат не позволяет.
Obj позволяет хранить цвет вершины.

> http://ru.wikipedia.org/wiki/Obj
Это не спека. Вот спека: http://ftp.sleepgate.ru/library/FileFormats/OBJ_SPEC.PDF

Страницы: 1 2 321 22 Следующая »
ПрограммированиеФорумГрафика

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