Может кто-нибудь помочь мне с реализацией глубины резкости в Ray Tracer, пожалуйста?Как реализовать глубину резкости в Ray Tracer?
Я использую простую модель камеры с отверстиями, как показано ниже. Мне нужно знать, как мы можем генерировать эффект DOF, используя модель камеры с отверстиями? (Изображение взято из wikipedia)
Мой основной рэйтрэйсер в работе штрафа.
У меня глаза в (0,0,0,1) с направлением в точке (Dx, Dy, 1.0f, 0.0f), где
поплавка дх = (х * (1,0/Imgwidth)) - 0,5;
float dy = (y * (1.0/Imgheight)) - 0,5;
Теперь, где бы я ни читал, речь идет о взятии объектива, который должен быть расположен между плоскостью изображения и сценой. например, как показано ниже (изображение взято из википедии):
Как я могу представить объектив перед плоскостью изображения, если лучи исходят из одного положения точки (камеры или глаза)?
Если кто-то может помочь, это будет здорово!
спасибо
Не похоже ли на несколько точек отсчета вокруг моей камеры (или глаз). А затем отрисуйте мою сцену со всех этих позиций. Отправка луча из каждой точки выборки в точку фокусировки для каждого пикселя в плоскости изображения путем определения точки фокусировки где-то в сцене. – sinner
Ну, да, это на самом деле то же самое - конечно, вы можете накапливать цвет на основе пикселя, вместо того, чтобы накапливать рендеринг всей сцены. – IneQuation
Я имею в виду: Разве это не похоже на взятие: -Приблизительное количество точек вокруг моей камеры (или глаза). - И затем визуализируйте мою сцену из всех этих положений, отправив луч от каждой точки выборки до точки фокусировки через каждый пиксель в плоскости изображения. Прошу прощения, но если вы можете объяснить с точки зрения положения глаз, плоскости изображения, фокальной плоскости и сцены, это заставит меня понять довольно легко. – sinner