Как построить приличную модель объектива / камеры для трассировки пути?


13

Я написал небольшую трассировку после обучения и экспериментов на smallpt .

Единственное, что я сам не написал (и не понял), это то, как исходные лучи вычисляются и запускаются из камеры. Я правильно понял принцип, но я ищу некоторые ресурсы, описывающие, как:

  • Вычислить начальное направление лучей
  • Смоделировать реальный объектив (в отличие от камеры-обскуры), предположительно, позволяющий создавать эффекты, такие как глубина резкости?

Современное состояние математики и физики не требуется, но хорошо, если все объяснено полностью.

Ответы:


13

Следующим шагом от модели камеры с точечным отверстием является модель с тонкой линзой , где мы моделируем линзу как бесконечно тонкий диск. Это все еще идеализация, которая довольно далека от моделирования реальной камеры, но она даст вам базовые эффекты глубины резкости.

Модель с тонкими линзами

Изображение выше, от panohelp.com , показывает основную идею. Для каждой точки на изображении есть несколько лучей, прибывающих в эту точку изображения через каждую точку на поверхности 2D-линзы. Следовательно, для создания подобного изображения с использованием метода Монте-Карло для каждого луча необходимо выбрать как точку 2D-выборки на плоскости изображения, так и независимую точку 2D-выборки на поверхности линзы.

Настраиваемыми параметрами для пользователя будут радиус линзы (как физический радиус в единицах сцены), который определяет, насколько мал фокусный диапазон (больший объектив = меньший диапазон фокусировки), и расстояние, на котором вы хотите, чтобы объекты находились в фокус.

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

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

Вы можете немного обобщить это, допустив, чтобы фокальная плоскость была чем-то отличным от плоскости, или линза была чем-то отличным от круглого диска, и следуя тому же процессу. Это может привести к некоторым интересным, если не совсем физическим эффектам. Также возможно выйти за рамки этой простой модели с более физически реалистичным моделированием элементов объектива камеры, но это не в моей компетенции.


4

См. Колб и др., Реалистичная модель камеры для компьютерной графики , SIGGRAPH 95.

Однако, имейте в виду, что модели камер, которые имитируют реальные камеры, не обязательно являются тем, что вы хотите для фазы рендеринга. В сценарии визуальных эффектов / постпроизводства, чем больше размытия / виньетирования / искажения, которое представляет модель камеры, тем хуже это для композитора / цветового таймера. Часто лучше сделать это после прохождения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.