Ray Tracing Geometry CSE 681.

Slides:



Advertisements
Similar presentations
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Advertisements

3D Graphics Rendering and Terrain Modeling
Ray Tracing Part I References /rtrace0.htm A. Watt & M. Watt. Advanced Animation & Rendering.
Part I: Basics of Computer Graphics
Informationsteknologi Thursday, November 22, 2007Computer Graphics - Class 111 Today’s class Clipping Parametric and point-normal form of lines Intersecting.
CSE 803 Stockman Fall Stereo models Algebraic models for stereo.
CS 376 Introduction to Computer Graphics 04 / 04 / 2007 Instructor: Michael Eckmann.
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
Cornell CS465 Fall 2004 Lecture 3© 2004 Steve Marschner 1 Ray Tracing CS 465 Lecture 3.
Cornell CS465 Fall 2004 Lecture 3© 2004 Steve Marschner 1 Ray Tracing CS 465 Lecture 3.
Presentation by Dr. David Cline Oklahoma State University
CSE 681 Ray Tracing Geometry. The Camera Model Based on a simpile pin-hole camera model –Simplest lens model –Pure geometric optics – based on similar.
COMP 175: Computer Graphics March 24, 2015
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
CS559: Computer Graphics Lecture 9: Projection Li Zhang Spring 2008.
11.5 Day 2 Lines and Planes in Space. Equations of planes.
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
CRCT Domain Review Geometry. Key Vocabulary  Radius  The distance from the center to the edge of a circle  Half of the circle’s diameter  Diameter.
Introduction to 3D Graphics Lecture 2: Mathematics of the Simple Camera Anthony Steed University College London.
Basic Ray Tracing CMSC 435/634.
CS559: Computer Graphics Lecture 9: 3D Transformation and Projection Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Calculate distances and focal lengths using the mirror equation for concave and convex spherical mirrors. Draw ray diagrams to find the image distance.
RENDERING : Global Illumination
Orthonormal Basis Cartesian Coordinate System – Unit vectors: i, j, k – Normalized to each other – Unique representation for each position!! – Convenient!
CSE 681 Brief Review: Vectors. CSE 681 Vectors Direction in space Normalizing a vector => unit vector Dot product Cross product Parametric form of a line.
A Photograph of two papers The Model: 2 papers – 8cm x 8cm and 5cm x 5cm The Camera – Simple pinhole – No focusing capability The Scene – Arrangements.
Computer Graphics Lecture 06 Circle Drawing Techniques Taqdees A. Siddiqi
Ray Tracing Part I Sources: * raytrace/rtrace0.htm * A. Watt & M. Watt. Advanced Animation & Rendering.
Introduction to Ray Tracing Dr. B. Raghu Professor /CSE Sri Ramanujar Engineering College.
Basic Ray Tracing CMSC 435/634.
3D Rendering 2016, Fall.
Geometric Optics Figure Mirrors with convex and concave spherical surfaces. Note that θr = θi for each ray.
Visible Surface Detection
Perspective projection
Rendering Pipeline Fall, 2015.
The Dance of the Foci David Seppala-Holtzman St. Joseph’s College
CSE 167 [Win 17], Lecture 15: Ray Tracing Ravi Ramamoorthi
Reflection & Mirrors.
Introduction to Computer Graphics with WebGL
Ray Tracing Ed Angel Professor Emeritus of Computer Science
Mathematics of the Simple Camera
11.5 Day 2 Lines and Planes in Space
(c) 2002 University of Wisconsin, CS559
Ray Tracing Forward Ray Tracing
CSCE 441 Computer Graphics 3-D Viewing
Scene Modeling for a Single View
3D Graphics Rendering PPT By Ricardo Veguilla.
Ray Tracing Geometry CSE 681.
Ray Tracing Geometry CSE 681.
Models and Architectures
© University of Wisconsin, CS559 Fall 2004
Solving By Substitution
© University of Wisconsin, CS559 Fall 2004
A Photograph of two papers
Reflections from Bumpy Surfaces
3D Rendering Pipeline Hidden Surface Removal 3D Primitives
Refraction and Thin Lenses
Introduction to Computer Graphics with WebGL
By the end of Week 3: You would learn how to solve many problems involving lines/planes and manipulate with different coordinate systems. These are.
Object Intersection CSE 681.
Object Intersection CSE 681.
Models and Architectures
Image synthesis using classical optics
Orthogonal Base Cartesian Coordinate System Works in general:
Models and Architectures
Chapter 25 Reflection and Mirrors
GR2 Advanced Computer Graphics AGR
Ray Tracing Geometry CSE 681.
Reflection and Refraction
MIRRORS Chrome text with reflection (Advanced)
Presentation transcript:

Ray Tracing Geometry CSE 681

Camera Setup Need to establish viewing geometry from camera’s point of view And make a ‘virtual’ array of pixels in front of the camera Rays will go through pixel centers Need view direction, angle of view, and which way is up CSE 681

Camera Setup v n w u “up” vector View direction ‘u’ can be formed as cross product of view vector and up vector Use info about camera to construct 3D camera coordinate system CSE 681

Camera Setup =? Tan(q/2) = yres*pixelHeight/2D Side view of camera Given theta (either half angle or full angle of view can be specified), D Compute extent of virtual frame buffer Then using pixel resolution, computer pixel height and width Tan(q/2) = yres*pixelHeight/2D pixelHeight = 2*Tan(qy/2) *D/yres =D pixelWidth = 2*Tan(qx/2) *D/xres CSE 681

Screen Placement How do images differ if the resolution doesn’t change? Q: if same pixel resolution, what’s different about the images generated when using different distances for virtual frame buffer? A: nothing So use D = 1 to simplify computations CSE 681

Pixel Calculation Tan(q/2) = yres*pixelHeight/2D pixelHeight = 2*Tan(qy/2) *D/yres pixelWidth = 2*Tan(qx/2) *D/xres Pixel AspectRatio = pixelWidth/pixelHeight Aspect ratio is width to height ratio Coordinate (in u,v,n space) of upper left corner of screen = ? CSE 681

Pixel Calculation Coordinate (in u,v,n space) of upper left corner of screen = ? v u w Tan(q/2) = yres*pixelHeight/2 pixelHeight = 2*Tan(qy/2) /yres pixelWidth = 2*Tan(qx/2) /xres Using camera coordinate system vectors, form location of upper left corner of screen in world space Assume virtual screen is one unit away (D=1) in w direction Eye + w - (xres/2)*PixelWidth*u + (yres/2)*PixelHeight *v CSE 681

Pixel Calculation Coordinate (in u,v,n space) of upper left pixel center = ? Then back off half a pixel width and height to compute pixel center Eye + w - (xres/2)*PixelWidth*u + (yres/2)*PixelHeight *v + (pixelWidth/2)*u - (pixelHeight/2)*v CSE 681

Interate through pixel Centers scanlineStart = Eye + w - (xres/2)*PixelWidth*u + (yres/2)*PixelHeight *v + (pixelWidth/2)*u - (pixelHeight/2)*v Update by pixel width and pixel height to go to adjacent pixel on scanline and next scanline, respectively There will pixelCenter += pixelWidth * u scanlineStart -= pixelHeight * v CSE 681

Pixel loops ScenlineStart = [from previous slide] For each scanline { pixelCenter = scanlineStart For each pixel across { form ray from camera through pixel …. pixelCenter += pixelWidth*u } scanlineStart -= pixelHeight*v Update by pixel width and pixel height to go to adjacent pixel on scanline and next scanline, respectively There will CSE 681

Process Objects For each pixel { Form ray from eye through pixel distancemin = infinity For each object { If (distance=intersect(ray,object)) { If (distance< distancemin) { closestObject = object distancemin = distance } Color pixel according to intersection information Keep closest intersection Need intersection function for each object type processed Later, we’ll build ‘intersection structure’ CSE 681

After all objects are tested If (distancemin > infinityThreshold) { pixelColor = background color else pixelColor = color of object at distancemin along ray d ray object eye CSE 681

Ray-Sphere Intersection - geometric Knowns C, r Eye Ray t= |C-eye| k d+k = (C-eye) · Ray s t2= (k+d) 2 + s2 d r C r2 = k2+ s2 If s > r, then no intersection If s == r, then ray just grazes intersection eye t d = (k+d) - k CSE 681

Ray-Sphere Intersection - algebraic x2 + y2 + z2 = r2 P(u) = eye + u*Ray Substitute definition of p into first equation: (eye.x+ u *ray.x) 2 + (eye.y+ u *ray.y)2 + (eye.z+ u *ray.z) 2 = r2 Analytic equation of sphere and parametric form for ray Use quadratic equation to solve for u If term inside radical is <0, no intersection If term == 0, ray just grazes sphere Expand squared terms and collect terms based on powers of u: A* u 2 + B* u + C = 0 CSE 681

Determine Color Use z-component of normalized normal vector FOR LAB #1 Clamp to [0.3..1.0] objectColor*Nz ray What’s the normal at a point on the sphere? Simple illumination example Just use z coordinate for normalized normal vector, clamped from below to 0.3, eye CSE 681