![]() |
|
#1
|
|||
|
|||
![]() Здравствуйте! Подскажите пожалуйста как сделать так, чтобы окружности отображались окружностями, а не эллипсами? использую gluPerspective()
|
#2
|
||||
|
||||
![]() OpenGL - только смотрел, но насколько я помню, там есть специальный коэфициент или функция возвращающая соотношения сторон. А вообще подсчитывается вроде просто - отношение макс-горизонтали к макс-вертикали даст нужный коэфициент.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() gluPerspective(ang, ClientWidth / ClientHeight, 0.0, 6.0);- вот так использую.
ang-переменная величина. Для того чтобы окружности были круглыми, а не овальными приходится подбирать размеры окна для рисования, а это не устраивает, т.к. разрешения разные и размеры соответственно каждый раз разные и окно со статическими размерами не очень хорошо выглядит. |
#4
|
||||
|
||||
![]() Ну я и имелл ввиду разрешение экрана. У вас же есть возможность получить инфу о текущем разрешении?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
![]() Это то да, согласен, могу получить разрешение и пересчитать, но форма имеет плавающие размеры (пользователь сам может растаскивать) и получается что если он растаскивает с большой разницей длины к ширине, то круги выглядят эллипсами. И ещё, я так понимаю gluPerspective задаёт модель с точкой схода. Как удалить эту точку в бесконечность, чтобы объекты выглядели правильной формы, а то прямоугольник тоже какой-то непрямоугольный.
|
#6
|
||||
|
||||
![]() Ну тогда я вижу только два варианта, либо вы сцену (если не ошибаюсь там это так называется) пропорционально вписываете в окно, либо окно отоброжает только часть сцены. И в том и в другом случае соотношения сторон сцены должны оставаться неизменными.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#7
|
|||
|
|||
![]() Не очень красиво получается. Можно конечно потом убавить угол обзора, чтобы объект поудалился и сцена была видна вся целиком, только помельче. Вобщем, спасибо! Нашёл косяк-дело было в том, что у меня соотношение между размерами самих объектов было очень большим.Если рассматривать реальные объекты с таким соотношением, то отрисовывалось всё правильно, просто понять это было сложно и взгляду как то некомфортно. Решил проблему использованием другой проекции (параллельной) ну и соответствующей функции: glOrtho
|