Формирование стереопары

Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску

В данной статье будет описан алгоритм модификации 3D программы для того чтоб она могла сформировать стереопару.

Обычно для перспективной проекции в программах используется следующая левостороняя матрица (применяемая к примеру в программах под Direct3D)

<math>~h = 1/\operatorname{tg}(fovY/2)</math>

<math>~w = h*aspect</math>

<math> \begin{bmatrix} 2*zNear/w & 0 & 0 & 0 \\ 0 & 2*zNear/h & 0 & 0 \\ 0 & 0 & {zFar \over zFar-zNear} & 1 \\ 0 & 0 & -{zNear*zFar \over zFar-Near} & 0 \end{bmatrix} </math>

для формирования корректной Off-axis стереопары необходимо модифицировать матрицу таким образом

<math> \begin{bmatrix} 2*zNear/w & 0 & 0 & 0 \\ 0 & 2*zNear/h & 0 & 0 \\ \mathbf{eye*sep} & 0 & {zFar \over zFar-zNear} & 1 \\ \mathbf{-eye*sep*dist} & 0 & -{zNear*zFar \over zFar-Near} & 0 \end{bmatrix} </math>

Здесь переменные означают:

  • eye - означает для какого глаза формируется изображение (-1 - левый, +1 - правый)
  • sep - разделение экрана, должна быть примерно равна половине расстояния между глазами, значение должно быть в диапазоне от 0 до ZNear/dist
  • dist - Z координата плоскости нулевого паралакса (по умолчанию равно ZNear), значение должно быть в диапазоне от -ZNear/sep до ZNear/sep

Ссылки

  • [1] - Calculating Stereo Pairs
  • [2] - stereo geometry in OpenGL
  • [3] - SLI & Stereo
  • [4] - NVIDIA GPU Programming Guide
  • [5] - NVIDIA Stereo API
  • [6] - RealD - Media Room
  • [7] - Anaglyph Methods Comparison
  • [8] - Optimized Anaglyph
  • [9] - Визуальные методы создания стерео варио изображений


Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....