Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2011, 18:21   #1
jetei
Пользователь
 
Регистрация: 29.08.2011
Сообщений: 24
Вопрос Матрицы в Opengl

Привет всем, подскажите как создать больше одной матрицы в Opengl( Delphi)
jetei вне форума Ответить с цитированием
Старый 08.12.2011, 20:28   #2
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

Что? Больше матриц! Ещё больше!
Может glPushMatrix и glPopMatrix помогут? Хотя это все уже устарело!
Kostia вне форума Ответить с цитированием
Старый 09.12.2011, 22:20   #3
jetei
Пользователь
 
Регистрация: 29.08.2011
Сообщений: 24
По умолчанию

да спс.
Код:
      glEnable(GL_BLEND);
    glBegin(GL_QUADS);
      glTexCoord(0, 0);  glVertex3fv(@Vertex[V1-1]);
      glTexCoord(U, 0);  glVertex3fv(@Vertex[V2-1]);
      glTexCoord(U, V);  glVertex3fv(@Vertex[V3-1]);
      glTexCoord(0, V);  glVertex3fv(@Vertex[V4-1]);
    glEnd();

    glPushMatrix;
glMatrixMode(GL_MODELVIEW);
glLoadidEntity;

glTranslated(0,0,-2);
glRotated(1,0,1,0);

glBegin(GL_QUADS);
glVertex3f(1,-1,1);
glVertex3f(1,1,-1);
glVertex3f(-1,1,1);
glVertex3f(-1,1,-1);
glEnd;

glBegin(GL_QUADS);
glVertex3f(1,-1,1);
glVertex3f(1,1,-1);
glVertex3f(-1,1,1);
glVertex3f(-1,1,-1);
glEnd;


glBegin(GL_QUADS);
glVertex3f(1,-1,1);
glVertex3f(1,1,-1);
glVertex3f(-1,1,1);
glVertex3f(-1,1,-1);
glEnd;

  glDisable(GL_BLEND);

glPopMatrix;
jetei вне форума Ответить с цитированием
Старый 09.12.2011, 23:18   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Хотя это все уже устарело!
а что в моде?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.12.2011, 23:52   #5
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

Цитата:
а что в моде?
Код:
glUniformMatrix4fvARB(glGetUniformLocationARB(programObject,"ModelViewProjectionMatrix"),MVPMatrix.ptr());
И дело не в моде, а в том что OpenGL ES 2.0 и OpenGL 3.1 и новее этот функционал(fixed function pipeline(FFP)) не поддерживает, и чтобы как можно менее болезненно осуществить переход со старых версий на новые, лучше отказаться от FFP и использовать programmable pipeline.
Kostia вне форума Ответить с цитированием
Старый 10.12.2011, 00:44   #6
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

Цитата:
OpenGL ES 2.0 и OpenGL 3.1 и новее этот функционал(fixed function pipeline(FFP)) не поддерживает
не надо ля-ля. то что fixed pipeline уже не является частью стандарта (полностью выкинута начиная с openGL 4.0), не значит что она не поддерживается. она теперь называется compatibility extension.

но, в принципе, согласен. за модой стоит следить.

по теме. а в чем собственно проблема? создаешь массив или память выделяешь, инициализируешь как хочется и если сильно надо подгружаешь на стек glLoadMatrix, glMultMatrix.

Последний раз редактировалось f.hump; 10.12.2011 в 01:00.
f.hump вне форума Ответить с цитированием
Старый 10.12.2011, 01:26   #7
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

Цитата:
With OpenGL 3.1, the Khronos Group has made the necessary hard cuts and removed outdated legacy functions, from OpenGL 1.x and 2.x, from the specifications. The functions removed include all fixed-function options, the direct mode and pixel formats with color palettes (color index mode). The only exception is "wide lines" (a line width greater than 1.0). The legacy functions are now only available via an optional "compatibility extension".
Чтобы ни у кого не возникало вопросов.

Последний раз редактировалось Kostia; 10.12.2011 в 01:39.
Kostia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++.три матрицы, упорядочить строки той матрицы у которой больше нулевых строк Ирина1992 Помощь студентам 12 20.11.2011 13:01
Для матрицы 8x8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. (Задание на Си) Ислам Помощь студентам 8 20.05.2011 20:56
Процедуры - вычислить количество элементов матрицы,кратных 5 и заменить на 0 все четные элементы матрицы Ksenichka Помощь студентам 1 19.05.2011 14:38
Ф-ия, определяющая сумму строк матрицы, если на главной диагонали матрицы имеется отрицательный эл-т. Volk_xD Помощь студентам 6 05.01.2011 13:39
На главную диагональ матрицы поместить наибольшие элементы этой матрицы mivel Помощь студентам 2 23.12.2009 21:19