Computer Graphics -Ray Tracing- 1 st quarter, 2015 Nara Institute of Science and Technology May 21, 2015
|
|
- Lesley Banks
- 6 years ago
- Views:
Transcription
1 Computer Graphics -Ray Tracing- 1 st quarter, 2015 Nara Institute of Science and Technology May 21, 2015
2 Today s topics Questions and Answers How to build a ray tracer (Homework 3.1 explanation)
3 Questions?
4 Homework 3.1??? 1. Take lecture 9 and lecture edx 2. Download the course notes from edx website: L9: Ray Tracing 1 PDF Slides and L10: Ray Tracing 2 PDF Slides 3. Download a skeleton code from our lecture website 4. Find 3 blanks in main.cpp, then fill it (search todo comments) 5. Submit your implementation to the submission form.
5 Instruction For the homework 3.1 (beginner course), Fill 3 blank functions in main.cpp. 1. void RayThruPixel() 2. double Intersect() 3. Vector3d FindColor() NEVER mind the instruction of original homework3 on edx. This is our original assignments. You may implement these functions reference to edx lecture notes. homework 3.1 main.cpp 1. void RayThruPixel() 2. double Intersect() 3. Vector3d FindColor() edx homework3 edx
6 Kazutaka Sawa Portfolio Let s start building a ray tracer!
7 1. Take lecture 9 and lecture edx, 2. Download the course notes from edx website Lecture9 Slide Lecture10 Slide
8 Ray tracing algorithm overview Light Source 1. Generate a ray from camera origin to a pixel. 2. If a ray hits an object, find color. Else, returns background color. Object Virtual screen FoV_Y (Field of View) Cam
9 3. Download a skeleton code from our lecture website 1. Download from here-> 2. Unzip it!
10 In case: Visual Studio 2010;
11 Goal When you finish your implementation, a cute snowman is rendered.
12 Almost everything are written in main.cpp. main.cpp 4 significant structs and classes: struct Ray: Light Ray struct Sphere: Sphere s size and location, also its material property. class Camera: Virtual camera propertis, such as losition, center etc Scene: Contains objects and lights. Currently, only single point light can be stored. 1 struct Ray Vector3d P0; /* Origin */ Vector3d P1; /* Direction */ }; struct Sphere Vector3d C; /* Center */ double Radius;/* Radius */ Vector3d Kd; Vector3d Ke; }; class Camera public: Vector3d Pos; /* Virtual Viewpoint */ Vector3d Center;/* Camera Center */ Vector3d Up; /* Up Vector */ int Width; /* Sensor Resolution */ int Height;/* Sensor Resolution */ double FoV_Y; /* Vertical Field of View */ double Aspect; double FoV_X; }; class Scene public: Sphere* spheres; int NumObjects; Vector3d PointLightPos; double Li; }; main.cpp
13 Ray struct Ray: Light Ray P0: origin P1: direction struct Ray Vector3d P0; /* Origin */ Vector3d P1; /* Direction */ Ray(const Vector3d origin, const Vector3d dirction) P0 = origin; P1 = dirction; } Ray(const Ray &ray) P0 = ray.p0; P1 = ray.p1; } }; Q: P1 is vector. main.cpp
14 Sphere struct Sphere: Sphere s size and location, also its material property. Radius C: center struct Sphere Vector3d C; /* Center */ double Radius; /* Radius */ Vector3d Kd; /* Diffuse */ Vector3d Ke; /* Emmision */ Sphere(double r, Vector3d center, Vector3d kd, Vector3d ke) : C(center), Radius(r), Kd(kd), Ke(ke)} }; main.cpp
15 Camera struct Sphere: Sphere s size and location, also its material property. Up Width Pos Center Height FoV_Y: Field of View Angle (y) class Camera public: Vector3d Pos; /* Virtual Viewpoint */ Vector3d Center;/* Camera Center */ Vector3d Up; /* Up Vector */ int Width; /* Sensor Resolution */ int Height;/* Sensor Resolution */ double FoV_Y; /* Vertical Field of View */ double double public: Aspect; FoV_X; Camera(const Vector3d pos, const Vector3d center, const Vector3d up, const int width, const int height, const double fov_y) :Pos(pos), Center(center), Up(up), Width(width), Height(height), FoV_Y(fov_y) this->aspect = (double)width/(double)height; this->fov_x = 2.0 * atan(this->aspect*tan(this->fov_y/2.0)); } }; main.cpp
16 Did you finish download a skeleton code?
17 int main(void) int main(void) /* Camera Settings */ /*Camera Position */ Vector3d pos = Vector3d(50.0, 52.0, 295.6); /*Camera Direction */ Vector3d dir = Vector3d::Normalize(Vector3d(0.0,0.0,-1.0)); int width = 128; /* Image width */ int height = 128; /* Image height */ double fov = 60.0 / * M_PI; /* field of view */ Camera cam(pos, pos + dir, Vector3d(0, 1, 0), width, height, fov); /* Scene Settings */ Scene scene; /* Current scene contains 3 spheres. */ scene.spheres = spheres; scene.numobjects = 3; /* and contains one point light source. */ scene.pointlightpos = Vector3d(100, 100, 100); scene.li = 1.0; /* Do the ray tracing */ Image* img = RayTrace(cam, scene, cam.width, cam.height); } /* Save image */ img->savebmp("image.bmp"); delete img; return 0;
18 1. Generate a ray from camera origin to a pixel. 2. If a ray hits an object, find color. Else, returns background color. /* See also slides_raytrace2.pdf pp1. */ Image* RayTrace(const Camera& cam, const Scene& scene, const int width, const int height) Image* image = new Image(width, height); int count = 0; for (int i = 0 ; i < height ; i++) for (int j = 0; j < width ; j++) Ray ray = RayThruPixel(cam, j, i); 1. Gen a ray from camera fprintf(stderr, " rrender: %5.2f%%", (100.0*(count++))/(width*height-1)); } IntersectionInfo hit = Intersect(ray, scene); image->data[width*i+j] = FindColor(scene, hit); } } return image; 2. Find color Cam
19 Homework 3.1 Steps and Hints Step 1: We would like to find a snowman s silhouette. Implement RayThruPixel and Intersect, first. Step 2: Then fill a blank space in Find Color /* See also slides_raytrace2.pdf pp1. */ Image* RayTrace(const Camera& cam, const Scene& scene, const int width, const int height) Image* image = new Image(width, height); int count = 0; for (int i = 0 ; i < height ; i++) for (int j = 0; j < width ; j++) Ray ray = RayThruPixel(cam, j, i); fprintf(stderr, " rrender: %5.2f%%", (100.0*(count++))/(width*height-1)); } IntersectionInfo hit = Intersect(ray, scene); image->data[width*i+j] = FindColor(scene, hit); } } return image;
20 Step1 (1) RayThruPixel RayThruPixel generates a ray from camera position to a specific pixel on a virtual screen. /* See also slides_raytrace2.pdf pp2. */ /* Note: there're several typo in the slide. */ Ray RayThruPixel(const Camera& camera, const int i, const int j) /* TODO: Implement Camera Ray Generation*/ Vector3d origin = camera.pos; Vector3d direction = Vector3d(0, 0, -1); pixel } return Ray(camera.Pos, direction); Ray Virtual Screen Cam
21
22 origin direction
23 Lesson1. Implement RayThruPixel Function
24 Step1 (2) Intersection Intersect returns a distance between the ray origin and the hit point on the sphere. If no intersection, returns -1. double Intersect(const Ray& ray, const Sphere& sphere) /*TODO: Implement ray-sphere intersection. */ /* return positive distance from ray origin to intersection */ /* return -1, if no sphere intersects */ /* solve the eq. : at^2 + bt + c = 0 */ /* Complex roots: no intersection */ /* 2 roots found */ distance /* 2 real positive roots: pick smaller root */ /* One positive, one negative root: ray origin inside sphere (pick + root) */ Ray origin } /* Both negative, no intersection */ return -1;
25 Object/Object Intersections ons.html
26
27
28 Do you remember Quadric Formula? 2 ax 2 + bx + c = 0 x = b ± b2 4ac 2a
29 Lesson2. Implement Intersect Function
30 Errata There s a typo in my skeleton code (sorry!), Ray ray = RayThruPixel(cam, j, i); Ray ray = RayThruPixel(cam, i, j);
31 Step 2: Fill a blank space in Find Color To implement Vector3d FindColor(), you may refer the slide Please ignore both ambient term and specular term. My ray tracer does not support both effects. There s a single point light source, only. You don t have to sum up all lights.
32 Shading Model I = K e + VL i K d max(l i n, 0) I: Radiance (~ pixel color) Ke: Emission V: Visibility term. Li: Light Intensity Kd: Diffuse reflectance li: Light vector n: normal vector 1. First, you may try without visibility term. (V is just set to 1.0) 2. Next, generate the second ray (called shadow ray) from hitpoint to light source, then trace a ray as : IntersectionInfo hit = Intersect(ray, scene); if hit.hitobject == null, there s no intersection. V = 1.0. Else, V = Hint: The origin of the shadow ray must push up slightly, along the normal direction to avoid intersecting by itself.
33 Step 2: Fill a blank space in Find Color /* See also slides_raytrace2.pdf pp2. */ /* Note: there're several typo in the slide. */ Ray RayThruPixel(const Camera& camera, const int i, const int j) /* TODO: Implement Camera Ray Generation*/ Vector3d origin = camera.pos; Vector3d direction = Vector3d(0, 0, -1); } return Ray(camera.Pos, direction);
34 Lesson3. Implement FindColor Function
35 Lesson 4. Create another snowman with another color. Lesson 5. Create another light source Lesson 6. Create a large mirror ball
Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project
To do Continue to work on ray programming assignment Start thinking about final project Lighting Course Outline 3D Graphics Pipeline Modeling (Creating 3D Geometry) Mesh; modeling; sampling; Interaction
More informationMotivation. Sampling and Reconstruction of Visual Appearance. Effects needed for Realism. Ray Tracing. Outline
Sampling and Reconstruction of Visual Appearance CSE 274 [Fall 2018], Special Lecture Ray Tracing Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir Motivation Ray Tracing is a core aspect of both offline
More informationCS Simple Raytracer for students new to Rendering
CS 294-13 Simple Raytracer for students new to Rendering Ravi Ramamoorthi This assignment should be done only by those small number of students who have not yet written a raytracer. For those students
More informationAssignment 2 Ray Tracing
Assignment 2 Ray Tracing Overview The concept of ray tracing: a technique for generating an image by tracing the path of light through pixels in an image plane and simulating the effects of its encounters
More informationRay Casting. To Do. Outline. Outline in Code. Foundations of Computer Graphics (Spring 2012) Heckbert s Business Card Ray Tracer
Foundations of Computer Graphics (Spring 2012) CS 184, Lectures 16, 18: Nuts and bolts of Ray Tracing To Do Finish homework 3 Prepare for Midterm (Monday) Everything before this week (no raytracing) Closed
More informationRay Casting. Outline in Code. Outline. Finding Ray Direction. Heckbert s Business Card Ray Tracer. Foundations of Computer Graphics (Fall 2012)
Foundations of Computer Graphics (Fall 2012) CS 184, Lectures 17, 18: Nuts and bolts of Ray Tracing Heckbert s Business Card Ray Tracer http://inst.eecs.berkeley.edu/~cs184 Acknowledgements: Thomas Funkhouser
More informationThe feature set you are required to implement in your ray tracer is as follows (by order from easy to hard):
Ray Tracing exercise TAU, Computer Graphics, 0368.3014, semester B Go to the Updates and FAQ Page Overview The objective of this exercise is to implement a ray casting/tracing engine. Ray tracing is a
More informationRay Casting. Outline. Similar to glulookat derivation. Foundations of Computer Graphics
Foundations of omputer Graphics Online Lecture 10: Ray Tracing 2 Nuts and olts amera Ray asting Outline amera Ray asting (choose ray directions) Ravi Ramamoorthi Outline in ode Image Raytrace (amera cam,
More informationComputer Graphics Tick 1
Computer Graphics Tick 1 Introduction to Ray Tracing Figure 1: The image you will create in this exercise. 1 Introduction In this exercise you will write code for a simple ray tracer. Ray tracing is a
More informationCS 184: Assignment 4 Simple Raytracer
CS 184: Assignment 4 Simple Raytracer Ravi Ramamoorthi 1 Introduction This assignment asks you to write a first simple raytracer. Raytracers can produce some of the most impressive renderings, with high
More informationPhoton Mapping. Due: 3/24/05, 11:59 PM
CS224: Interactive Computer Graphics Photon Mapping Due: 3/24/05, 11:59 PM 1 Math Homework 20 Ray Tracing 20 Photon Emission 10 Russian Roulette 10 Caustics 15 Diffuse interreflection 15 Soft Shadows 10
More informationAssignment 6: Ray Tracing
Assignment 6: Ray Tracing Programming Lab Due: Monday, April 20 (midnight) 1 Introduction Throughout this semester you have written code that manipulated shapes and cameras to prepare a scene for rendering.
More informationRay Tracing Part 1. CSC418/2504 Introduction to Computer Graphics. TA: Muhammed Anwar & Kevin Gibson
Ray Tracing Part 1 CSC418/2504 Introduction to Computer Graphics TA: Muhammed Anwar & Kevin Gibson Email: manwar@cs.toronto.edu Overview Introduction / Motivation Rasterization vs Ray Tracing Basic Pseudocode
More informationComputer Graphics Tick 2
Computer Graphics Tick 2 Advanced Ray Tracing Effects Figure 1: The image you will create in this exercise. 1 Introduction In this exercise you will extend the ray tracer to handle a new shape and additional
More informationProblem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007
Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007 Programming For this assignment you will write a simple ray tracer. It will be written in C++ without
More informationRay Casting. Connelly Barnes CS 4810: Graphics
Ray Casting Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Traditional Pinhole Camera The film
More informationRay-Tracing. Misha Kazhdan
Ray-Tracing Misha Kazhdan Ray-Tracing In graphics, we often represent the surface of a 3D shape by a set of triangles. Goal: Ray-Tracing Take a collection of triangles representing a 3D scene and render
More informationRaytracing CS148 AS3. Due :59pm PDT
Raytracing CS148 AS3 Due 2010-07-25 11:59pm PDT We start our exploration of Rendering - the process of converting a high-level object-based description of scene into an image. We will do this by building
More informationProject 1 Simple Ray Tracer
Project 1 Simple Ray Tracer CSE 168: Rendering Algorithms, Winter 2017 Description Write a simple ray tracer capable of rendering boxes and instances and outputting the image to a BMP file. It should support
More informationIntro to Ray-Tracing & Ray-Surface Acceleration
Lecture 12 & 13: Intro to Ray-Tracing & Ray-Surface Acceleration Computer Graphics and Imaging UC Berkeley Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric
More informationRay Tracing Basics I. Computer Graphics as Virtual Photography. camera (captures light) real scene. photo. Photographic print. Photography: processing
Ray Tracing Basics I Computer Graphics as Virtual Photography Photography: real scene camera (captures light) photo processing Photographic print processing Computer Graphics: 3D models camera model (focuses
More informationIllumination. Michael Kazhdan ( /657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2
Illumination Michael Kazhdan (601.457/657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2 Ray Casting Image RayCast(Camera camera, Scene scene, int width, int height) { Image image = new Image(width, height); for
More informationLighting and Shading
Lighting and Shading Today: Local Illumination Solving the rendering equation is too expensive First do local illumination Then hack in reflections and shadows Local Shading: Notation light intensity in,
More informationLecture 10: Ray tracing
Interactive Computer Graphics Lecture 10: Ray tracing Graphics Lecture 10: Slide 1 Some slides adopted from H. Pfister, Harvard Graphics Lecture 10: Slide 2 Direct and Global Illumination Direct illumination:
More informationCS Computer Graphics: Introduction to Ray Tracing
CS 543 - Computer Graphics: Introduction to Ray Tracing by Robert W. Lindeman gogo@wpi.edu (with help from Peter Lohrmann ;-) View Volume View volume similar to gluperspective Angle Aspect Near? Far? But
More informationCS Computer Graphics: Introduction to Ray Tracing
CS 543 - Computer Graphics: Introduction to Ray Tracing by Robert W. Lindeman gogo@wpi.edu (with help from Peter Lohrmann ;-) View Volume View volume similar to gluperspective Angle Aspect Near? Far? But
More informationProgramming projects. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer
Programming projects Rendering Algorithms Spring 2010 Matthias Zwicker Universität Bern Description of assignments on class webpage Use programming language and environment of your choice We recommend
More informationCS 543: Computer Graphics Lecture 10 (Part II): Raytracing (Part II) Emmanuel Agu
C 543: Computer Graphics Lecture (Part II): Raytracing (Part II) Emmanuel Agu Where are we? Define the objects and light sources in the scene et up the camera for(int r ; r < nrows; r blockie){ for(int
More informationCIS 580, Machine Perception, Spring 2015 Homework 1 Due: :59AM
CIS 580, Machine Perception, Spring 2015 Homework 1 Due: 2015.02.09. 11:59AM Instructions. Submit your answers in PDF form to Canvas. This is an individual assignment. 1 Camera Model, Focal Length and
More informationRendering: Reality. Eye acts as pinhole camera. Photons from light hit objects
Basic Ray Tracing Rendering: Reality Eye acts as pinhole camera Photons from light hit objects Rendering: Reality Eye acts as pinhole camera Photons from light hit objects Rendering: Reality Eye acts as
More informationDH2323 DGI13. Lab 2 Raytracing
DH2323 DGI13 Lab 2 Raytracing In this lab you will implement a Raytracer, which draws images of 3D scenes by tracing the light rays reaching the simulated camera. The lab is divided into several steps.
More information3D Rendering and Ray Casting
3D Rendering and Ray Casting Michael Kazhdan (601.457/657) HB Ch. 13.7, 14.6 FvDFH 15.5, 15.10 Rendering Generate an image from geometric primitives Rendering Geometric Primitives (3D) Raster Image (2D)
More informationInteractive Real-Time Raycasting
Interactive Real-Time Raycasting CS184 AS4 Due 2009-02-26 11:00pm We start our exploration of Rendering - the process of converting a high-level object-based description into a graphical image for display.
More informationIntroduction Ray tracing basics Advanced topics (shading) Advanced topics (geometry) Graphics 2010/2011, 4th quarter. Lecture 11: Ray tracing
Lecture 11 Ray tracing Introduction Projection vs. ray tracing Projection Ray tracing Rendering Projection vs. ray tracing Projection Ray tracing Basic methods for image generation Major areas of computer
More informationCS 184: Assignment 2 Scene Viewer
CS 184: Assignment 2 Scene Viewer Ravi Ramamoorthi 1 Goals and Motivation This is a more substantial assignment than homework 1, including more transformations, shading, and a viewer for a scene specified
More informationGlobal Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University
Global Illumination CS334 Daniel G. Aliaga Department of Computer Science Purdue University Recall: Lighting and Shading Light sources Point light Models an omnidirectional light source (e.g., a bulb)
More informationEDAN30 Photorealistic Computer Graphics. Seminar 1, Whitted Ray Tracing (And then some!) Magnus Andersson, PhD student
EDAN30 Photorealistic Computer Graphics Seminar, 203 Whitted Ray Tracing (And then some!) Magnus Andersson, PhD student (magnusa@cs.lth.se) Today s Agenda Structure of Assignments Quick prtracer walkthrough
More informationPractical 2: Ray Tracing
2017/2018, 4th quarter INFOGR: Graphics Practical 2: Ray Tracing Author: Jacco Bikker The assignment: The purpose of this assignment is to create a small Whitted-style ray tracer. The renderer should be
More informationIntroduction to Ray-tracing Objectives
Introduction to Ray-tracing Objectives Define ray-tracing as a means of rendering Ray-tracing for spheres Combining with shading model An algorithm framework 2 1 Light vs. Rendering 3 (Local) Ray-tracing
More informationRay tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1
Ray tracing Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 3/19/07 1 From last time Hidden surface removal Painter s algorithm Clipping algorithms Area subdivision BSP trees Z-Buffer
More informationLast Time? Ray Casting. Administrivia: Lab & Office Hours. Notes on Assignments. Ray Casting. Overview of Today
Ray Casting Last Time? Luxo Jr. Applications of Computer Graphics Overview of the semester IFS Assignment 0 due tomorrow @ 11:59pm Questions? 1 2 Notes on Assignments Make sure you turn in a linux or windows
More informationRay Tracing. Outline. Ray Tracing: History
Foundations of omputer Graphics Online Lecture 9: Ray Tracing 1 History and asic Ray asting Ravi Ramamoorthi Effects needed for Realism (Soft) Shadows Reflections (Mirrors and Glossy) Transparency (Water,
More informationRay Tracing. Kjetil Babington
Ray Tracing Kjetil Babington 21.10.2011 1 Introduction What is Ray Tracing? Act of tracing a ray through some scene Not necessarily for rendering Rendering with Ray Tracing Ray Tracing is a global illumination
More informationGlobal Illumination. COMP 575/770 Spring 2013
Global Illumination COMP 575/770 Spring 2013 Final Exam and Projects COMP 575 Final Exam Friday, May 3 4:00 pm COMP 770 (and 575 extra credit) Projects Final report due by end of day, May 1 Presentations:
More informationShadows. COMP 575/770 Spring 2013
Shadows COMP 575/770 Spring 2013 Shadows in Ray Tracing Shadows are important for realism Basic idea: figure out whether a point on an object is illuminated by a light source Easy for ray tracers Just
More informationTSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY
1(84) Information Coding / Computer Graphics, ISY, LiTH TSBK 07 Computer Graphics Ingemar Ragnemalm, ISY 1(84) Lecture 5 3D graphics part 3 Illumination Illumination applied: Shading Surface detail: Mappings
More informationPhotorealism: Ray Tracing
Photorealism: Ray Tracing Reading Assignment: Chapter 13 Local vs. Global Illumination Local Illumination depends on local object and light sources only Global Illumination at a point can depend on any
More informationAssignment #2. (Due date: 11/6/2012)
Computer Vision I CSE 252a, Fall 2012 David Kriegman Assignment #2 (Due date: 11/6/2012) Name: Student ID: Email: Problem 1 [1 pts] Calculate the number of steradians contained in a spherical wedge with
More informationCOMP371 COMPUTER GRAPHICS
COMP371 COMPUTER GRAPHICS SESSION 15 RAY TRACING 1 Announcements Programming Assignment 3 out today - overview @ end of the class Ray Tracing 2 Lecture Overview Review of last class Ray Tracing 3 Local
More informationRay Tracing. CSCI 420 Computer Graphics Lecture 15. Ray Casting Shadow Rays Reflection and Transmission [Ch ]
CSCI 420 Computer Graphics Lecture 15 Ray Tracing Ray Casting Shadow Rays Reflection and Transmission [Ch. 13.2-13.3] Jernej Barbic University of Southern California 1 Local Illumination Object illuminations
More informationLecture 8 Ray tracing Part 1: Basic concept Yong-Jin Liu.
Fundamentals of Computer Graphics Lecture 8 Ray tracing Part 1: Basic concept Yong-Jin Liu liuyongjin@tsinghua.edu.cn Material by S.M.Lea (UNC) Goals To set up the mathematics and algorithms to perform
More informationCOMP 175 COMPUTER GRAPHICS. Lecture 11: Recursive Ray Tracer. COMP 175: Computer Graphics April 9, Erik Anderson 11 Recursive Ray Tracer
Lecture 11: Recursive Ray Tracer COMP 175: Computer Graphics April 9, 2018 1/40 Note on using Libraries } C++ STL } Does not always have the same performance. } Interface is (mostly) the same, but implementations
More informationCS Computer Graphics: Ray Tracing Detail, Part 3
CS 543 - Computer Graphics: Ray Tracing Detail, Part 3 by Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) hit( ) Function for Sphere Recall that for generic sphere, there are two hit times,
More informationINFOGR Computer Graphics. Jacco Bikker - April-July Lecture 3: Ray Tracing (Introduction) Welcome!
INFOGR Computer Graphics Jacco Bikker - April-July 2016 - Lecture 3: Ray Tracing (Introduction) Welcome! Today s Agenda: Primitives (contd.) Ray Tracing Intersections Assignment 2 Textures INFOGR Lecture
More informationComputer Graphics and Image Processing Ray Tracing I
Computer Graphics and Image Processing Ray Tracing I Part 1 Lecture 9 1 Today s Outline Introduction to Ray Tracing Ray Casting Intersecting Rays with Primitives Intersecting Rays with Transformed Primitives
More informationRay Tracing. CS116B Chris Pollett Apr 20, 2004.
Ray Tracing CS116B Chris Pollett Apr 20, 2004. Outline Basic Ray-Tracing Intersections Basic Ray-Tracing Reference Point (i,j) Projection Plane Have a set up like in the above picture. Shoot rays from
More informationComputer Graphics I. Assignment 3
UNIVERSITÄT DES SAARLANDES Dr.-Ing. Hendrik P.A. Lensch Max Planck Institut Informatik Art Tevs (tevs@mpi-inf.mpg.de) Boris Ajdin (bajdin@mpi-inf.mpg.de) Matthias Hullin (hullin@mpi-inf.mpg.de) 12. November
More informationEffects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012)
Foundations of omputer Graphics (Spring 202) S 84, Lecture 5: Ray Tracing http://inst.eecs.berkeley.edu/~cs84 Effects needed for Realism (Soft) Shadows Reflections (Mirrors and Glossy) Transparency (Water,
More informationTDA361/DIT220 Computer Graphics, January 15 th 2016
TDA361/DIT220 Computer Graphics, January 15 th 2016 EXAM (Same exam for both CTH- and GU students) Friday January 15 th, 2016, 8.30 12.30 Examiner Ulf Assarsson, tel. 0701-738535 Permitted Technical Aids
More informationDeferred Rendering Due: Wednesday November 15 at 10pm
CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture
More informationComputer Graphics and Image Processing Ray Tracing II. Additional material
Computer Graphics and Image Processing Ray Tracing II Additional material 1 Today s Outline 1. Structure of a Ray Tracer 2. Implementing a Ray Caster 3. Lights and Shadows 2 STRUCTURE OF A RAY TRACER 3
More informationTopic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping
Topic 12: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures
More informationViewing and Ray Tracing. CS 4620 Lecture 4
Viewing and Ray Tracing CS 4620 Lecture 4 2014 Steve Marschner 1 Projection To render an image of a 3D scene, we project it onto a plane Most common projection type is perspective projection 2014 Steve
More informationVoxel-Based Global-Illumination
Voxel-Based Global-Illumination By Thiedemann, Henrich, Grosch, and Müller Real-Time Near-Field Global Illumination on a Voxel Model (Morteza), M.Sc. Marc Treib Overview Illumination What is voxelization?
More informationRay Tracer Due date: April 27, 2011
Computer graphics Assignment 4 1 Overview Ray Tracer Due date: April 27, 2011 In this assignment you will implement the camera and several primitive objects for a ray tracer, and a basic ray tracing algorithm.
More informationViewing and Ray Tracing
Viewing and Ray Tracing CS 4620 Lecture 4 2018 Steve Marschner 1 Projection To render an image of a 3D scene, we project it onto a plane Most common projection type is perspective projection 2018 Steve
More informationLecture 11. More Ray Casting/Tracing
Lecture 11 More Ray Casting/Tracing Basic Algorithm For each pixel { } Shoot a ray from camera to pixel for all objects in scene Compute intersection with ray Find object with closest intersection Display
More informationCS 6958 LECTURE 5 TM ANALYSIS SHADING
CS 6958 LECTURE 5 TM ANALYSIS SHADING January 20, 2014 Clarification Avoid global variables class/struct types will cause compiler to fail What I meant was global instances of objects You can definitely
More informationTopic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized
Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures
More informationMotivation: Monte Carlo Path Tracing. Sampling and Reconstruction of Visual Appearance. Monte Carlo Path Tracing. Monte Carlo Path Tracing
Sampling and Reconstruction of Visual Appearance CSE 274 [Winter 2018], Lecture 4 Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir Motivation: Key application area for sampling/reconstruction Core method
More informationA simple OpenGL animation Due: Wednesday, January 27 at 4pm
CMSC 23700 Winter 2010 Introduction to Computer Graphics Project 1 January 12 A simple OpenGL animation Due: Wednesday, January 27 at 4pm 1 Summary This project is the first part of a three-part project.
More informationProject 3 Path Tracing
Project 3 Path Tracing CSE 168: Rendering Algorithms, Spring 2017 Description Add antialiasing and path tracing of diffuse surfaces and Fresnel metals to your renderer. Project 3 is due by 5:00 pm, Wednesday
More informationComputer Graphics. Ray Tracing. Based on slides by Dianna Xu, Bryn Mawr College
Computer Graphics Ray Tracing Based on slides by Dianna Xu, Bryn Mawr College Ray Tracing Example Created by Anto Matkovic Ray Tracing Example Ray Tracing Example Ray Tracing Most light rays do not reach
More informationComputer Graphics Global Illumination
Computer Graphics 2016 14. Global Illumination Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2017-01-09 Course project - Tomorrow - 3 min presentation - 2 min demo Outline - Shadows - Radiosity
More informationMotivation. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing
Advanced Computer Graphics (Spring 2013) CS 283, Lecture 11: Monte Carlo Path Tracing Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283/sp13 Motivation General solution to rendering and global illumination
More informationTopic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural
Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Topic 11: Photographs Texture Mapping Motivation Sources of texture Texture coordinates
More informationHomework #2. Shading, Ray Tracing, and Texture Mapping
Computer Graphics Prof. Brian Curless CSE 457 Spring 2000 Homework #2 Shading, Ray Tracing, and Texture Mapping Prepared by: Doug Johnson, Maya Widyasari, and Brian Curless Assigned: Monday, May 8, 2000
More informationRay tracing Tutorial. Lukas Herzberger
Ray tracing Tutorial Lukas Herzberger Agenda Ray tracing algorithm (lab 4a) Intersection tests Ray tracing algorithm (lab 4b) Hints & common mistakes Agenda Ray tracing algorithm (lab 4a) Intersection
More informationRay tracing idea. Ray Tracing. Ray tracing algorithm. Plane projection in drawing. CS 465 Lecture 3
Ray tracing idea Ray Tracing CS 465 Lecture 3 2007 Doug James 1 2007 Doug James 2 Ray tracing algorithm Plane projection in drawing for each pixel { compute viewing ray intersect ray with scene compute
More informationFinal Project: Real-Time Global Illumination with Radiance Regression Functions
Volume xx (200y), Number z, pp. 1 5 Final Project: Real-Time Global Illumination with Radiance Regression Functions Fu-Jun Luan Abstract This is a report for machine learning final project, which combines
More informationRaytracing. COSC 4328/5327 Scott A. King
Raytracing COSC 4328/5327 Scott A. King Basic Ray Casting Method pixels in screen Shoot ray p from the eye through the pixel. Find closest ray-object intersection. Get color at intersection Basic Ray Casting
More informationCENG 477 Introduction to Computer Graphics. Ray Tracing: Shading
CENG 477 Introduction to Computer Graphics Ray Tracing: Shading Last Week Until now we learned: How to create the primary rays from the given camera and image plane parameters How to intersect these rays
More informationReview for Ray-tracing Algorithm and Hardware
Review for Ray-tracing Algorithm and Hardware Reporter: 邱敬捷博士候選人 Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Summer, 2017 1 2017/7/26 Outline
More informationComputer Graphics Global Illumination
! Computer Graphics 2013! 14. Global Illumination Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2013-10-30 Final examination - Friday night, 7:30PM ~ 9:00PM, Nov. 8th - Room 103 (?), CaoGuangBiao
More informationParallelization. Memory coherency helps when distributing rays to various threads/processors
/ Ra Tracing OpenGL projects triangles onto the image plane and rasteries them to determine which piels the cover Scanline rendering is a per triangle operation Ra Tracing instead works as a per piel operation
More informationMovie: For The Birds. Announcements. Ray Tracing 1. Programming 2 Recap. Programming 3 Info Test data for part 1 (Lines) is available
Now Playing: Movie: For The Birds Pixar, 2000 Liar Built To Spill from You In Reverse Released April 11, 2006 Ray Tracing 1 Rick Skarbez, Instructor COMP 575 November 1, 2007 Announcements Programming
More informationCOMPUTER GRAPHICS AND INTERACTION
DH2323 DGI17 COMPUTER GRAPHICS AND INTERACTION INTRODUCTION TO RAYTRACING Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters
More informationCS 4620 Midterm, March 21, 2017
CS 460 Midterm, March 1, 017 This 90-minute exam has 4 questions worth a total of 100 points. Use the back of the pages if you need more space. Academic Integrity is expected of all students of Cornell
More informationRay Tracing. Foley & Van Dam, Chapters 15 and 16
Ray Tracing Foley & Van Dam, Chapters 15 and 16 Ray Tracing Visible Surface Ray Tracing (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Ray Tracing Determine visibility
More informationTo Shading and Beyond. CS 6965 Fall 2011
To Shading and Beyond Program 1 Questions on program 1? Running simhwrt 2 Program 1 fix 3 simhwrt Can set scene and image size --no-scene --width 256 --height 256 Can set number of TMs and threads per
More informationCMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker
CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection
More informationRay Tracing Foley & Van Dam, Chapters 15 and 16
Foley & Van Dam, Chapters 15 and 16 (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Determine visibility of a surface by tracing rays of light from the viewer s eye
More informationLecture 12: Advanced Rendering
Lecture 12: Advanced Rendering CSE 40166 Computer Graphics Peter Bui University of Notre Dame, IN, USA November 30, 2010 Limitations of OpenGL Pipeline Rendering Good Fast, real-time graphics rendering.
More informationCS Computer Graphics: Ray Tracing Detail, Part 3
CS 543 - Computer Graphics: Ray Tracing Detail, Part 3 by Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) hit( ) Function for Sphere Recall that for generic sphere, there are two hit times,
More informationComputergrafik. Matthias Zwicker Universität Bern Herbst 2016
Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today More shading Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection and refraction Toon shading
More informationINFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome!
INFOGR Computer Graphics J. Bikker - April-July 2015 - Lecture 10: Ground Truth Welcome! Today s Agenda: Limitations of Whitted-style Ray Tracing Monte Carlo Path Tracing INFOGR Lecture 10 Ground Truth
More informationCS580: Ray Tracing. Sung-Eui Yoon ( 윤성의 ) Course URL:
CS580: Ray Tracing Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/gcg/ Recursive Ray Casting Gained popularity in when Turner Whitted (1980) recognized that recursive ray casting could
More informationRay Tracing I: Basics
Ray Tracing I: Basics Today Basic algorithms Overview of pbrt Ray-surface intersection Next lecture Techniques to accelerate ray tracing of large numbers of geometric primitives Light Rays Three ideas
More information6. Illumination, Lighting
Jorg s Graphics Lecture Notes 6. Illumination, Lighting 1 6. Illumination, Lighting No ray tracing in OpenGL! ray tracing: direct paths COP interreflection: soft shadows, color bleeding. umbra, penumbra,
More informationRay Tracing COMP575/COMP770
Ray Tracing COMP575/COMP770 1 Ray tracing idea 2 Ray Tracing: Example (from [Whitted80]) Ray Tracing: Example Ray Tracing for Highly Realistic Images Volkswagen Beetle with correct shadows and (multi-)reflections
More information