¿Cómo construir un modelo objetivo de lente / cámara decente para el trazado de ruta?

13

He escrito un pequeño trazador de ruta después de aprender y experimentar en smallpt .

Lo único que no escribí (y entendí) es cómo se calculan y disparan los rayos iniciales desde la cámara. Entendí bien el principio, pero estoy buscando algunos recursos que describan cómo:

  • Calcule la dirección inicial de los rayos.
  • ¿Modelar una lente real (a diferencia de la cámara estenopeica), supuestamente permitiendo efectos como profundidad de campo?

No se requieren matemáticas y física de vanguardia, pero está bien si se explica a fondo.

las interconexiones están hechas de catz
fuente

Respuestas:

13

El siguiente paso de un modelo de cámara estenopeica es un modelo de lente delgada , donde modelamos la lente como un disco infinitamente delgado. Esto sigue siendo una idealización que está bastante lejos de modelar una cámara real, pero le dará efectos básicos de profundidad de campo.

Modelo de lente delgada

La imagen de arriba, de panohelp.com , muestra la idea básica. Para cada punto de la imagen, hay múltiples rayos que llegan a ese punto de la imagen, a través de cada punto en la superficie de la lente 2D. Por lo tanto, generar una imagen como esta usando Monte Carlo requerirá seleccionar, para cada rayo, un punto de muestra 2D en el plano de la imagen y un punto de muestra 2D independiente en la superficie de la lente.

Los parámetros orientados por el usuario que se establecerán serán el radio de la lente (como un radio físico en unidades de escena), que controla qué tan superficial es el rango de enfoque (lente más grande = rango de enfoque más superficial) y la distancia a la que desea que estén los objetos. atención.

Para generar rayos oculares en la escena, puede calcular la posición y dirección de los rayos que salen de la superficie del lente; En este modelo no hay necesidad de simular explícitamente el plano de la imagen y la refracción a través de la lente. Básicamente, piense en la lente como centrada en la posición de la cámara y orientada hacia la dirección de la cámara.

Según la ubicación de la imagen, construya un rayo desde la posición de la cámara (centro de la lente) en la escena, tal como lo haría en el modelo de agujero de alfiler; luego encuentre su intersección con el plano focal. Ahí es donde deberían converger todos los rayos de esa ubicación de imagen. Ahora puede desplazar el punto de inicio del rayo a un punto elegido al azar en la lente y establecer su dirección para que sea hacia el punto de convergencia.

Puede generalizar esto un poco permitiendo que el plano focal sea algo diferente a un plano, o que la lente sea algo diferente a un disco circular, y siga el mismo proceso. Eso puede producir algunos efectos interesantes, aunque no muy físicos. También es posible ir más allá de este modelo simple con una simulación más realista físicamente de los elementos de lente de una cámara, pero eso está más allá de mi experiencia.

Nathan Reed
fuente
4

Ver Kolb, et al., A Realistic Camera Model for Computer Graphics , SIGGRAPH 95.

Sin embargo, tenga en cuenta que los modelos de cámara que imitan las cámaras del mundo real no son necesariamente lo que desea para la fase de renderizado. En un escenario de efectos visuales / postproducción, cuanto más desenfoque / viñeteado / distorsión presenta el modelo de cámara, peor es para el compositor / temporizador de color. A menudo es mejor hacerlo como un pase posterior.

Seudónimo
fuente