Форум: "Игры";
Текущий архив: 2008.04.06;
Скачать: [xml.tar.bz2];
ВнизПосмотреть на верх. Найти похожие ветки
← →
akaValerius © (2007-01-11 15:10) [0]Я тока щас заметил, когда еще и на стену смотрел, что при повороте на угол .. по оси Х
(на верх). Сцена трансформируется из прямоугольника в парал-грамм, и если
посмотреть на стену то картинка корявоужаснеправельная. Если на ось Z результат тож не очень,
и при том я должен смотреть только на стену. И я решил
отказаться от glRotate and glTranslate, а использовать
gluLookAt, но не знаю что дает вектор "UP" самое понятное
объяснение, что я слышал было "поменяйте там значения". По работе
с этм объяснением я понял что при смене "UP" сцена ресуется по другому.
Сот-но моно используя gluLookUp добиться желаемого результата. Помогите
с этой ботвой разобратся как зависят значения от "UP". Иль, как добиться
нормальной картинки при использовании glRotate. Please. У меня из-за
этого опять работа стала.
← →
XProger © (2007-01-11 15:40) [1]покажи код установок матрицы проекции и вида перед отрисовкой стены.
← →
akaValerius © (2007-01-11 17:48) [2]XProger
gluLookAt(-0.1, 0, 19-up, -0.1, -2, -11+z*1000, 0, 1, -1);
{***************************************************}
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
wglMakeCurrent(Canvas.Handle, hrc);
glViewport(0, 0, ClientWidth, ClientHeight);
//glPushMatrix;
glloadidentity;
glEnable(GL_DEPTH_TEST);
gluPerspective(90,
ClientWidth/ClientHeight-1,
0.1, 100.0);
//glFrustum(-0.5,0.5,-1,1,3,100);
{glRotated(0+xs,0,1,0);
glRotated(0+z,1,0,0);
glTranslatef(0,0.1+jamp,-60+up);}
gluLookAt(-0.1, 0, 19-up, -0.1, -2, -11+z, 0, 1, -1);
{***************************************************}
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
Здесь некоторые процедуры, как коментарии потому, что я пробую по разному. Но картинка все равно корявая. Это пример, код не много другой (там тексуры и се токое), но подскажи хотябы так.
← →
Леон © (2007-01-11 18:24) [3]хм.. может поможет :
SinCos(Fphi, sp, cp );
SinCos(Ftheta, st, ct );
gluLookAt(Center[0] + FD*st*cp, Center[1] + FD*st*sp, Center[2] + FD*ct,
Center[0] , Center[1] , Center[2] ,
0 ,0 ,1 );
Fphi , FTheta, полярные углу под котрыми камера смотрит на точку Center
FD - расстоние от камеры до Center
← →
akaValerius © (2007-01-11 18:58) [4]Леон
Ok. Попробую.
← →
akaValerius © (2007-01-11 19:08) [5]Леон
Center[0,1,2]- че это за переменная, как она вычисляется, она меняется по ходу или нет? Опиши по подробней.
← →
Леон © (2007-01-11 19:15) [6]Center это массив, мрожно трактовать как вектор, указывающий на точку
(Линейная алгебра рулит )
center[0] = x, center[1] = y,..
задаешь сам
и еще,
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(...);
...
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(...)
← →
akaValerius © (2007-01-11 19:21) [7]Леон
И еще sp, cp , st, ct - это че за переменные, и как они находятся.
FD по какой оси расстояние( иль по одной Z).
← →
Леон © (2007-01-11 20:11) [8]sp, cp , st, ct - синусы, косинусы углов, находятся функциями SinCos
FD - расстояние по прямой, соединяющей камеру и точку center
(см. "полярная система координат")
← →
akaValerius © (2007-01-11 20:20) [9]Мож ты не большой исходничик отправишь, если те не влом конечно. А то у меня там все заросло всякой ботвой, а мне нужно принцип понять.
← →
XProger © (2007-01-11 23:54) [10]akaValerius, в [6] сообщении решение твоей проблемы...
← →
akaValerius © (2007-01-12 14:29) [11]XProger. Тобесь процедуру Леона не надо узать, дело
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(...);
...
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(...)
А че лучше юзать gluLookAt иль Rotate
← →
akaValerius © (2007-01-12 15:03) [12]Киньте мне please исходник, а то у меня все, как расло, так стены крючит и дальше
← →
akaValerius © (2007-01-19 14:24) [13]DevilDevil - вобщем твой исходник у меня не пашет, ну все равно я решил делать все сам. И уже решил проблему довольный пью пиво,а если бы использовал чужой код то не было бы наслаждения от проделанной работы.
← →
Комбинатор (2007-01-19 17:08) [14]Почитай теорию по "управлению движением" и про матрицы косинусов......
← →
akaValerius © (2007-01-20 12:30) [15]Комбинатор
А где мне её надыбать?
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2008.04.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c