Почему моя сфера OpenGL выглядит как эллипс - PullRequest
1 голос
/ 10 марта 2012

Я создал одну сферу, используя OpenGL ES20 в Android. В перспективной проекции env я оживляю сферу от [-1,5, -2, -2] до [-1,5, 2, -2]. Проблема в том, что сфера выглядит как эллипс, когда достигает границы усеченного конуса. На самом деле, он выглядит только как круг, когда он находится в [0, 0, -2], чем больше он находится от [0,0], тем больше он выглядит как эллипс

Это стандартное поведение? Я думал, одна сфера должна выглядеть как круг во всех углах зрения. Не могли бы вы помочь?

The sphere

1 Ответ

1 голос
/ 10 марта 2012

Вы должны уменьшить свое поле зрения;то, что вы показываете, является нормальным явлением и является побочным эффектом слегка искусственного характера 3d-проекции - 3d-проекция предполагает, что зритель сидит на фиксированном расстоянии от экрана и что его глаза расположены вдоль z прямо из центра экрана, смотряточно вперед.Проверьте описание проблем , описанных здесь , для описания того же эффекта с реальной камерой.

Довольно часто неявное поле зрения по умолчанию составляет девяносто градусов.Но когда вы держите телефон в руке, он занимает намного меньше девяноста градусов вашего зрения.

Если вы используете glFrustum, попробуйте указать меньшие значения для левого, правого, верхнего и нижнего.В качестве быстрого решения просто добавьте glScalef, скажем, 2.0, в свой стек проекций (или эквивалент ES 2) после вычисления матрицы проекций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...