LINUX.ORG.RU

я лох

 , ,


0

1

HINT: числа с потолка, но получаю такой результат в принципиально новом движке своем :)

Короче рисую 2 залитых квадрата в OpenGL, один по z-y примерно -0.1 (параллельно осям x и y , например), а второй на -1.1

Ставим камеру на 5 по z ровно над серединами этих 2-ух персонажей и делам для перспективы что-то такое

 
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(130, 1, 1, 20);

Короче, как может быть так, что более дальний (-1.1) opengl считает как более ближний и он получается поверх в проекции, если вертеть камеру.

//нереальный тупак и ничего не понятно, да



Последнее исправление: CYB3R (всего исправлений: 3)

Может проблема в том что оси относительно которых идет отсчет имеют начальную точку в левом верхнем углу монитора и соответственно растут «вниз»

pylin ★★★★★
()
Ответ на: комментарий от pylin

Да нет, даже если перепутать направления осей, -1 от 5 дальше, чем 0.

note173 ★★★★★
()
Ответ на: комментарий от Google-ch

Я, конечно, понимаю, что ваше IT - это 95% практики и погроммистам теория не нужна, но читайте книжки хотя бы до конца главы, прежде чем код из них копипастить.

imtw
()
Ответ на: комментарий от imtw

Я вроде не копипащу а читаю потихоньку, пытаясь кодить что-то по теме :)

Google-ch
() автор топика
Ответ на: комментарий от Google-ch

Хех, внатуре лох, ведь эти фни давно уже deprecated. И знания твои pretty much бесполезны. Сейчас сами считают матрицы на и передают их шейдер или прямо в шейдери и считают, когда как. Таки дела лорохолуй.

anonymous
()
Ответ на: комментарий от anonymous

Khronos'ы наконец догадались, что дизайн их GAPI ужасен по сравнению с Direct3D? Надеюсь, они ещё и свой уродский шейдерный язык выкинут вместе с его глобальными varying переменными, и возьмут пример с HLSL, где шейдер представляет собой чистую функцию.

А вообще, GAPI, основанные на растеризации - прошлый век. Приложения, написанные с их помощью, представляют собой фракталы костылей.

imtw
()
Ответ на: комментарий от imtw

P.S. В directX матрицы задаются руками, и это мудро.

В OpenGL теперь тоже.

O02eg ★★★★★
()

glEnable(GL_DEPTH_BUFFER_TEST); как-то так.

dikiy ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.