Your SlideShare is downloading. ×
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Ray tracing
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Ray tracing

1,919

Published on

realism

realism

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,919
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1.  Problema Macroalgoritmo Desventajas Ray casting Ray tracing Objetos que se pueden usar Bibliografía
  • 2.  Dibujar una escena compleja El color de un cuadrado es el color de la luz que llega al ojo a través del hueco Escena Papel Tarjeta con hueco
  • 3.  Generar los rayos emitidos Para cada rayo, seguir su camino hasta que :  El rayo no golpea nada y golpea el ojo.  Un objeto es golpeado y el rayo se refleja hacia el ojo.  El rayo golpea un objeto transparente, se refracta y llega al ojo.  El rayo es reflejado/ refractado por varios objetos y golpea el ojo.  El rayo no llega al ojo. Para cada cuadrado adicionar todos los valores de los rayos que pasan a través de él. Este valor es almacenado en el pixel correspondiente de la pantalla.
  • 4.  Requiere muchos rayos La mayoría de los rayos no llegarán al ojo En puntos de reflexión y refracción se necesitará generar muchos rayos adicionales Tarea
  • 5.  El rayo no golpea ningún objeto  Color del fondo. El rayo golpea la fuente de luz  Color de la luz. El rayo golpea un objeto  Se aplica un modelo de iluminación en el punto de intersección  Se aplica color del objeto Luz Interse cción Ojo (cámara) Pixel
  • 6. void TraceRay (vector start, vector direction, color color){ Interceptar rayo con objetos, encontrar la intersección más cercana If (no intersección) color = color de fondo ; else color = color de objeto (o modelo de iluminación) ;}
  • 7. void main (void){ for (row =0 ; end_row ; row++) for (column =0 ; end_column ; column++) { calcular la dirección del vector (posición pixel - ojo) ; TraceRay (eye_pos, direction, color) ; screen (row)(column) = color ; }}
  • 8.  Forma simple de iluminación No incluye reflexión ni refracción. Rápido. Puede ser paralelizada. Puede extenderse a Ray tracing Puede ser especializada
  • 9.  Un rayo pasa por el centro de cada pixel › Píxel central: [0, 0, D] › Píxel superior izquierdo [-S/2, S/2, D] › S = longitud del plano › D = distancia del observador al plano › Recorrido del plano  Adicionar TamañoPixel/2 en X y Y › UMM.
  • 10.  Extensión del Ray casting Se introducen los fenómenos de reflexión y refracción Aproximación a la iluminación global. Rayos reflejados › R=2(-I.N).N+I › I, rayo incidente
  • 11.  I1 = Ia 1 + Id 1 + Is 1 + kr I2 Observador I2 = Ia 2 + Id 2 + Is 2 + kr I3 1 I3 =Ia 3 + Id 3 + Is 3 + kr I4 N I4 = color de fondo Ia = intensidad ambiente 2 N Id = intensidad difusa Is = intensidad especular 3 kr = coeficiente de N reflexión de la superficie Ii = intensidad en el i- 4 esimo punto de incidencia
  • 12.  Para refracción I1 = Ia 1 + Id 1 + Is 1 + kr I2 + kxI3 kx = coeficiente de refracción Recursión doble
  • 13. Para cada píxel Color (profundidad, colour) Forme rayo primario Forme nuevo rayo Encuentre intersección más Encuentre intersección cercana Si (reflexión) Si (existe intersección) Forme rayo reflejado Color (profundidad + 1, Encuentre intersección más final) cercana PutPixel Color (profundidad + 1, colour) Si (refracción) Forme rayo refractado Encuentre intersección más cercana Color (Profundidad + 1,colour) Return colour
  • 14.  Intersección rayo – objeto Cálculo de la normal en el punto de incidencia Rayo paramétrico › punto.x = pos.x + t*dir.x › punto.y = pos.y + t*dir.y › punto.z = pos.z + t*dir.z Rayo {[Xo, Yo, Zo], [X1, Y1, Z1]} › x = Xo + t . x › y = Yo + t . y › z = Zo + t . z
  • 15.  Esfera › (x-a)2 + (y-b)2 + (z-c)2 = r2 › x = Xo + t . x, y = Yo + t . y, z = Zo + t . z › (x2 + y2 + z2 ) t2 + (x . (Xo-a) + y . (Yo-b) + z . (Zo - c)).2t + (Xo-a)2 + (Yo-b)2 + (Zo-c)2 - r2 = 0 › Si t tiene raíz  Menor no negativo › N = ( p - centro)/||p - centro||
  • 16.  Plano infinito › P[A, B, C] › Ax+By+Cz+D=0 › D= - P.N › t = (Axo + Byo + Czo + D) / (A x + B y + C z) › Normal viene en el plano
  • 17.  Triangulo › Serie de vértices › Encontrar la normal al triangulo con el producto cruz de dos de sus lados. › Encontrar la intersección del rayo con el plano definido por el triangulo. › Revisar si los puntos están dentro del triangulo
  • 18.  Triangulo › Obtener V1, V2, V3 V3 › N1=V1xV2 › N2=V2xV3 › N3=V3xV1 P V1 V2 › N1.N2>0 › N2.N3>0 › N3.N1>0
  • 19.  Cubo › Ecuación del plano de cada cara › Plano cuyo punto de intersección sea más cercano › Verificar si el punto está dentro de la cara Maya › Interceptar con el cubo que encierra la maya › Si el rayo intercepta este cubo  Interceptar con cada triangulo dentro de la maya.
  • 20.  Introductuion to ray tracing. Elassner University of Hull. Notas de clase http://www.siggraph.org/education/mat erials/HyperGraph/raytrace/rtrace1.htm. Overview of ray tracing

×