Ray Tracing in Computer Graphics

 
Basic Ray Tracing
 
Visibility Problem
 
Rendering: converting a model to an image
Visibility: deciding which objects (or parts) will
appear in the image
Object-order
Image-order
 
Raytracing
 
Given
Scene
Viewpoint
Viewplane
Cast ray from viewpoint
through pixels into scene
 
 
View
 
Raytracing Algorithm
 
Given
    List of polygons { P
1
, P
2
, ..., P
n
 }
    An array of intensity[ x, y ]
{
For each pixel (x, y) {
form a ray R in object space through the
camera position C and the pixel (x, y)
Intensity[ x, y ] = trace ( R )
}
Display array Intensity
}
 
 
Raytracing Algorithm
 
Function trace ( Ray )
{
for each polygon P in the scene
calculate intersection of P and the ray R
if ( The ray R hits no polygon )
        return ( background intensity )
else {
find the polygon P with the closest
intersection
calculate intensity I at intersection point
return ( I ) // more to come here later
    }
}
 
Computing  Viewing Rays
 
Parametric ray
Camera frame
   : eye point
          : basis vectors
r
i
g
h
t
,
 
u
p
,
 
b
a
c
k
w
a
r
d
Right hand rule!
Screen position
 
Calculating Intersections
 
Define ray parametrically:
 
 
If                  is center of projection and
is center of pixel, then
               : points between those locations
         : points behind viewer
         : points beyond view window
 
Ray-Sphere Intersection
 
Sphere in vector form
Ray
Intersection with implicit surface f(t) when
Normal at intersection p
 
Ray-Triangle Intersection
 
Intersection of ray with barycentric triangle
 
In triangle if 

>

>

+

<

 
boolean raytri (ray r, vector p0, vector p1, vector p2,
interval [t
0
,t
1
] ) {
compute t
if (( t < t
0
 ) or (t > t
1
))
        return ( false )
compute 
if ((
 < 0 ) or (
 > 1))
        return ( false )
compute 
if ((
 < 0 ) or (
 > 1))
        return ( false )
   return true
}
 
Ray-Polygon Intersection
 
Given ray and plane containing polygon
 
 
What is ray/plane intersection?
 
 
 
Is intersection point inside polygon
Is point inside all edges? (convex polygons only)
Count edge crossings from point to infinity
 
Point in Polygon?
 
Is P in polygon?
Cast ray from P to infinity
1 crossing = inside
0, 2 crossings = outside
 
Point in Polygon?
 
Is P in concave polygon?
Cast ray from P to infinity
Odd crossings = inside
Even crossings = outside
 
What happens?
 
Raytracing Characteristics
 
Good
Simple to implement
Minimal memory required
Easy to extend
Bad
Aliasing
Computationally intensive
Intersections expensive (75-90% of rendering time)
Lots of rays
 
Basic Concepts
 
Terms
Illumination: calculating light intensity at a point
(object space; equation) based loosely on physical
laws
Shading: algorithm for calculating intensities at
pixels (image space; algorithm)
Objects
Light sources: light-emitting
Other objects: light-reflecting
Light sources
Point (special case: at infinity)
distributed
 
Lambert
s Law
 
Intensity of reflected light related to orientation
 
 
 
 
Lambert
s Law
Specifically: the radiant energy from any small
surface area dA in any direction 
 relative to the
surface normal is proportional to cos 
 
Ambient light
 
     = intensity of ambient light
      = reflection coefficient
                       = reflected intensity
 
Combined Model
 
 
 
Adding color:
 
 
 
For any wavelength 
:
Slide Note
Embed
Share

In the world of computer graphics, ray tracing plays a crucial role in rendering realistic images by simulating the behavior of light rays in a scene. This involves determining visibility, casting rays from a viewpoint, implementing ray tracing algorithms, computing viewing rays, calculating intersections with objects like spheres and triangles, and more. Dive into the intricacies of ray tracing with this detailed content.

  • Ray Tracing
  • Computer Graphics
  • Rendering
  • Algorithms
  • Intersection

Uploaded on Sep 21, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Basic Ray Tracing

  2. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear in the image Object-order Image-order

  3. Raytracing Given Scene Viewpoint Viewplane Cast ray from viewpoint through pixels into scene

  4. View

  5. Raytracing Algorithm Given List of polygons { P1, P2, ..., Pn } An array of intensity[ x, y ] { For each pixel (x, y) { form a ray R in object space through the camera position C and the pixel (x, y) Intensity[ x, y ] = trace ( R ) } Display array Intensity }

  6. Raytracing Algorithm Function trace ( Ray ) { for each polygon P in the scene calculate intersection of P and the ray R if ( The ray R hits no polygon ) return ( background intensity ) else { find the polygon P with the closest intersection calculate intensity I at intersection point return ( I ) // more to come here later } }

  7. Computing Viewing Rays Parametric ray Camera frame : eye point : basis vectors right, up, backward Right hand rule! Screen position

  8. Calculating Intersections Define ray parametrically: If is center of projection and is center of pixel, then : points between those locations : points behind viewer : points beyond view window

  9. Ray-Sphere Intersection Sphere in vector form Ray Intersection with implicit surface f(t) when Normal at intersection p

  10. Ray-Triangle Intersection Intersection of ray with barycentric triangle In triangle if > 0, > 0, + < 1 boolean raytri (ray r, vector p0, vector p1, vector p2, interval [t0,t1] ) { compute t if (( t < t0) or (t > t1)) return ( false ) compute if (( < 0 ) or ( > 1)) return ( false ) compute if (( < 0 ) or ( > 1)) return ( false ) return true }

  11. Ray-Polygon Intersection Given ray and plane containing polygon What is ray/plane intersection? Is intersection point inside polygon Is point inside all edges? (convex polygons only) Count edge crossings from point to infinity

  12. Point in Polygon? Is P in polygon? Cast ray from P to infinity 1 crossing = inside 0, 2 crossings = outside

  13. Point in Polygon? Is P in concave polygon? Cast ray from P to infinity Odd crossings = inside Even crossings = outside

  14. What happens?

  15. Raytracing Characteristics Good Simple to implement Minimal memory required Easy to extend Bad Aliasing Computationally intensive Intersections expensive (75-90% of rendering time) Lots of rays

  16. Basic Concepts Terms Illumination: calculating light intensity at a point (object space; equation) based loosely on physical laws Shading: algorithm for calculating intensities at pixels (image space; algorithm) Objects Light sources: light-emitting Other objects: light-reflecting Light sources Point (special case: at infinity) distributed

  17. Lamberts Law Intensity of reflected light related to orientation

  18. Lamberts Law Specifically: the radiant energy from any small surface area dA in any direction relative to the surface normal is proportional to cos A N L A cos( )

  19. Ambient light = intensity of ambient light = reflection coefficient = reflected intensity

  20. Combined Model Adding color: For any wavelength :

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#