Электронная библиотека

Хакер


Рубрика: «Ferrum»

Хакер, номер #001, стр. 001-008-4


5. Правый и левый глаз человека видит на экране монитора разные изображения, которые сливаются в одно. При этом человек ощущает глубину.

Немного о физиологии

Ты можешь спросить: "Зачем все это нужно? Ведь в Quake 2 и так все трехмерно". Но проекция трехмерного мира на экран не дает полного ощущения трехмерности. То, что ты видишь на экране - это, примерно, то, что ты видишь, закрыв рукой один глаз. По одной картинке мозг человека не может определить точное расстояние до объекта, если оно не может определяться косвенно, к примеру, по размерам объекта.

"Вранье, я и с одним глазом вижу то же самое," - скажешь ты. Но это не так. Для того чтобы убедиться в этом, достаточно проделать следующий трюк. Вытяни перед собой руки, так чтобы тыльные стороны ладоней были обращены на тебя. Теперь приблизь одну руку немного к себе и закрой глаз. Так как размеры ладоней будут одинаковы, то, при отсутствии теней, тебе будет сложно визуально определить, какая ладонь ближе. Как только откроешь второй глаз, ты моментально определишь это. Двигая ладонь взад-вперед при закрытом глазе и периодически открывая-закрывая его, можно почувствовать глубину.

В настройках драйвера есть тест, который рисует квадраты, находящиеся на разном расстоянии от наблюдателя. Размеры квадратов подобраны таким образом, чтобы их проекции на экран имели одинаковые размеры. Надев стереоочки, ты можешь определить, какой квадрат находится ближе, а какой дальше. Ситуация изображена на рисунке, хотя я изобразил не квадраты, а кружки. На верхнем рисунке большой кружок на расстоянии 25 см от наблюдателя проецируется на красную плоскость, и его проекция выглядит маленькой. На нижнем рисунке кружок поменьше находится на расстоянии 10 см, но его проекция совпадает с проекцией большого кружка. Поэтому для того чтобы определить расстояние до кружка, наблюдателю необходимы два глаза.

Однако даже люди с двумя глазами не всегда видят мир в объеме. Есть люди, не различающие цвета, а есть люди, у которых нет чувства глубины, либо это чувство притуплено. Таким людям стереоочки не дадут ничего (левша никогда не купит мышку, рассчитанную только под правую руку). В реальной жизни подобный дефект может совершенно не мешать, но поиграть в 3D-игры в стерео они не смогут.

Стереосепарация

Два глаза человека - это как две видеокамеры, расположенные в двух разных местах. Видят они разные вещи, а мозг из двух картинок собирает одну.

Драйвер позволяет настраивать параметр, называемый стереосепарацией, контролирующий разницу между правым и левым глазом, образно говоря - "расстояние между глазами". Чем меньше стереосепарация, тем более "плоской" кажется картинка. При увеличении стереосепарации картинка становится глубже, однако, изображение может начать двоиться. Этот параметр можно установить в какое-то оптимальное значение в настройках, а подстраивать его на лету.

Вертикальная сепарация

Интересно, что даже если изображения для правого и левого глаза разнесены по вертикали (считай это наклоном головы), то картинка в мозгу собирается правильно. Вполне может быть, что на экране монитора подкадры будут разнесены по вертикали, так как конвертер не может со 100% точностью вставить V-Sync точно посредине кадра. Вертикальная сепарация также может меняться на лету.

Назад на стр. 001-008-3  Содержание  Вперед на стр. 001-008-5