Войти
ПрограммированиеФорумОбщее

Трансформации в OpenGL. (комментарии)

#0
14:48, 25 июля 2012

Трансформации в OpenGL. (комментарии)

Это сообщение сгенерировано автоматически.

#1
14:48, 25 июля 2012

В MSDN как и в статье ошибка.
в матрице ортографической проекции пятнадцатый элемент равен 1, а не -1.

Прошло более 11 месяцев
#2
14:50, 7 июля 2013

В msdn, если не ошибаюсь, речь должна идти о матрицах в DirectX, а здесь OpenGL(правосторонняя). Хотя у меня тоже один из элементов с другим знаком, но не пятнадцатый(кстати 1 - не 15ый а 11 элемент, по столбцам ведь нумерация).

Вобщем у меня корректное отоброжение так получается

void GLView::CreateProjection(int width, int height)
{
  float n=0.1f;
  float f=1000.0f;
  float l=-n;   // горизонтальный угол обзора будет всегда 90град.
  float r=-l;
  float t=r*float(height)/float(width);
  float b=-t;
  
  for (int i=0; i<16; i++) ProgectionMatrix[i]=0;

  ProgectionMatrix[0]  = 2*n/(r-l);
  ProgectionMatrix[5]  = 2*n/(t-b);
  ProgectionMatrix[8]  = -(r+l)/(r-l);
  ProgectionMatrix[9]  = (t+b)/(t-b);
  ProgectionMatrix[10] = -(f+n)/(f-n);
  ProgectionMatrix[11] = -1;
  ProgectionMatrix[14] = -2*f*n/(f-n);
}

То-есть элемент А=-(r+l)/(r-l), а в статье с плюсом.
А например в книжке каких то Девиса и Нейдера вообще расчёт идёт исходя из того, что они заявляют - "near и far всегда должны быть отрицательными"

Прошло более 1 года
#3
0:34, 4 дек. 2014

UVW
Там же glOrtho описывается, тамошний вариант работает, тутошний нет.

#4
18:50, 4 дек. 2014

http://www.gamedev.ru/code/forum/?id=38367
http://www.gamedev.ru/code/forum/?id=16748&page=2#m20

Не понятен смысл этой статьи, просто копипаст. А где матрицы масштабирования, поворота, смещения. Почему не расписана сама матрица?

http://www.songho.ca/opengl/gl_projectionmatrix.html
http://www.songho.ca/opengl/gl_transform.html
все отлично переводиться в google

ПрограммированиеФорумОбщее

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