Пятница, 29 Марта 2024, 10:37

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Вопросы по FreeGlut
Вопросы по FreeGlut
ad141Дата: Пятница, 07 Декабря 2012, 18:03 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Где можно найти статьи по OpenGl и FreeGlut, но такие, которые предназначены не только для программирования на Windows...

Можно ли как нибудь в Glut сделать несколько 2D слоев, что бы не перерисовывать всю сцену, а только некоторые слои отдельно?
Как можно загружать текстуры *.dds, *.png в Glut? GLAUX - уже не актуален...

Требуется поддержка Windows и Ubuntu...



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...


Сообщение отредактировал ad141 - Пятница, 07 Декабря 2012, 18:07
SnuuxДата: Вторник, 11 Декабря 2012, 17:16 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Quote (ad141)
Как можно загружать текстуры *.dds, *.png в Glut? GLAUX - уже не актуален...

Бери FreeImage или DeViL.
Quote (ad141)
Можно ли как нибудь в Glut сделать несколько 2D слоев, что бы не перерисовывать всю сцену, а только некоторые слои отдельно?

Насколько я знаю, можно использовать glPushMatrix(); glPopMatrix();
Quote (ad141)
Где можно найти статьи по OpenGl и FreeGlut, но такие, которые предназначены не только для программирования на Windows...

GLUT - он кроссплатформенный, так что код не будет отличатся от Window'совского. Используй GCC компилятор (например его можно использовать с Code::Blocks или Dev-C).
ad141Дата: Вторник, 11 Декабря 2012, 17:45 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Quote (Snuux)
DeViL

Прогуглил, вроде бы нормальная библиотека, а есть статьи как её применять в OpenGL?

Quote (Snuux)
Насколько я знаю, можно использовать glPushMatrix(); glPopMatrix();

О работе этих функций, можно по подробнее?

Quote (Snuux)

GLUT - он кроссплатформенный, так что код не будет отличатся от Window'совского. Используй GCC компилятор (например его можно использовать с Code::Blocks или Dev-C).


Я так и делаю... Но дело в том что многие статьи по использованию GLUT подразумевают использование Windows'a...
Все обработчики берутся от туда, и Инициализация окон идет через Windows... Хотя я разобрался с инициализацией через GLUT... Но лучше бы статьи где используются актуальные, кросс-платформенные библиотеки...



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
SEvgДата: Вторник, 11 Декабря 2012, 18:20 | Сообщение # 4
Алхимик
Сейчас нет на сайте
Quote (ad141)
Quote (Snuux)
Насколько я знаю, можно использовать glPushMatrix(); glPopMatrix();

О работе этих функций, можно по подробнее?


glPushMatrix() сохраняет матрицу в стеке, glPopMatrix() вытаскивает обратно.
По простому говоря, вызываем glPushMatrix(), делаем изменения состояния OpenGL(вращение, масштабирование и т.д.), а потом вызываем glPopMatrix() и всё состояние возвращается в первозданный вид.
SnuuxДата: Вторник, 11 Декабря 2012, 18:31 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Т.е. ещё проще - между кодом (там где звездочка):

Code
glPushMatrix();

//*

glPopMatrix();


Ты делаешь преобразования которые относятся только к тому, что лежит там где звездочка...
Quote (ad141)
Но лучше бы статьи где используются актуальные, кросс-платформенные библиотеки...

Все библиотеки (glut, devil, freeimage) - кроссплатформенные... А в общем то насчет кроссплатформенности, мб кто другой подскажет, я с ней пока не сталкивался (только Windows пока что..)
ad141Дата: Вторник, 11 Декабря 2012, 20:05 | Сообщение # 6
почетный гость
Сейчас нет на сайте
Quote (SEvg)
По простому говоря, вызываем glPushMatrix(), делаем изменения состояния OpenGL(вращение, масштабирование и т.д.), а потом вызываем glPopMatrix() и всё состояние возвращается в первозданный вид.

Так это же получается как раз преобразования, а они мне не нужны... Мне нужно несколько слоёв...
Quote (ad141)
Можно ли как нибудь в Glut сделать несколько 2D слоев, что бы не перерисовывать всю сцену, а только некоторые слои отдельно?



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ArchidoДата: Вторник, 11 Декабря 2012, 20:46 | Сообщение # 7
Сэнсэй
Сейчас нет на сайте
Quote (ad141)
Можно ли как нибудь в Glut сделать несколько 2D слоев, что бы не перерисовывать всю сцену, а только некоторые слои отдельно?

Что еще за слои? Как это вообще должно выглядеть? Каждый кадр всегда перерисовывается вся сцена, так или иначе... Для чего, кстати, такое требуется? Единственный вариант не рендерить повторно геометрию - это рендер в текстуру, но в OpenGL такое делается весьма нетривиальным образом. Да и не нужно это, наверняка.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Вторник, 11 Декабря 2012, 20:47
ad141Дата: Вторник, 11 Декабря 2012, 20:59 | Сообщение # 8
почетный гость
Сейчас нет на сайте
Да уж всё понятно... Мне объяснили smile


Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
Форум игроделов » Программирование » C/C++ » Вопросы по FreeGlut
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг