Я разрабатываю 4 сплит-просмотрщик в OpenGL. Один вид представляет собой перспективный вид, другие - для ортогональных выступов (спереди, слева, сверху).Рисование куба в glOrtho() вид?
Я написал метод, который рисует куб от (-1, -1, -1) до (1,1,1), и он хорошо работает в перспективном представлении, но я не могу заставить его работать в мои взгляды, которые используют glOrtho (...).
Сейчас я поставил его так:
glOrtho(0, width, height, 0, 0, 1);
Самое смешное, что вид не показывает куб на всех. Я реализовал границу для представления в OpenGL, которая отображается правильно.
Я использую Qt и написал производный класс QGLWidget.
Предполагая, что ваш видовой экран также является шириной по высоте, а ширина и высота - это ваши координаты экрана (скажем, 800x600), которые сделают ваш куб 2 пикселя в широком пространстве орто, нет? также у вас ближние и дальние обрезающие плоскости равны 0 и 1, которые могут скопировать куб в зависимости от того, где находится глаз. – vmpstr
Делает смысл. ;) Итак, вы бы использовали glScale, чтобы сделать его больше для орфографических представлений, или есть более умный способ? – fuji
@ j.dog: Обычно вы выбираете пределы, установленные для объема пространства проекции, в соответствии с тем, который используется для вашего объекта. Для вашего куба, который будет glOrtho (-спектность, аспект, -1, 1, -1, 1), где aspect = viewport_width/viewport_height – datenwolf