SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
CS 354
Acceleration
Structures
Mark Kilgard
University of Texas
April 24, 2012
CS 354                                        2



         Today’s material
        In-class quiz
            On global illumination lecture
        Lecture topic
          Project 4
          Acceleration structures
CS 354                            3



         My Office Hours
        Tuesday, before class
            Painter (PAI) 5.35
            8:45 a.m. to 9:15
        Thursday, after class
            ACE 6.302
            11:00 a.m. to 12


        Randy’s office hours
            Monday & Wednesday
            11 a.m. to 12:00
            Painter (PAI) 5.33
CS 354                                            4



         Last time, this time
        Last lecture, we discussed
            Global illumination
        This lecture
            Acceleration structures
        Projects
            Project 4 on ray tracing on Piazza
               Due May 2, 2012
               Get started!
CS 354                                                                                             5

                                             On a sheet of paper
         Daily Quiz                          • Write your EID, name, and date
                                             • Write #1, #2, #3, #4 followed by its answer
        Multiple choice: In the Russian
         Roulette approach to termination of           Multiple choice: Modeling the
         tracing recursive rays, termination            influence of participating media
         occurs                                         simulates

         a) after a fixed number of ray                 a) motion blur
         traces
                                                        b) fog
         b) after a random number of ray
         casts between 1 and a fixed                    c) smoke
         constant
                                                        d) a., b., and c.
         c) when an analytic solution can
         be reached                                     e) b. and c.

         d) every trace has a random                   True of False: Classic Radiosity
         chance of being terminated                     assume the Bidirectional Reflectance
                                                        Distribution Function of all surfaces in
        True or False: A bidirectional                 the scene are Lambertian.
         reflectance distribution function
         returns a negative value
         approximately 50% of the time.
CS 354                                             6



         Project 4
        Provides ray tracing framework
            Use FLTK toolkit for user interface
            Includes sample scenes—.ray files




                      dragon.ray
CS 354                                                                     7



         Sample File: sphere.ray
     SBT-raytracer 1.0              point_light {
                                       position = (-2, 2, -2);
     camera {                          colour = (1, 0.3, 0.3);
        position = (0,0,-4);           constant_attenuation_coeff= 0.25;
        viewdir = (0,0,1);             linear_attenuation_coeff =
        aspectratio = 1;               0.003372407;
        updir = (0,1,0);               quadratic_attenuation_coeff =
                                       0.000045492;
     }
                                    }
     directional_light {
                                    material = {
        direction = (0, 0, 1);
                                       diffuse = (0.4,0.8,0.2);
        colour = (0.2, 0.2, 0.2);
                                       specular = (1,1,0);
     }
                                       shininess = 64;
                                    }

                                    scale(1.5,
                                       sphere {
                                       })

                                    scale(2,sphere{});
CS 354                                                                   8



         What You Must Implement
        Blinn-Phong lighting              Implement shadow ray
         model                                 Modify most
          Ambient, diffuse, specular           RayTracer.cpp
          Modify scene/material.cpp       Implement triangle mesh
        Point light distance               intersection
         attenuation                         Including normal
          Inverse squared distance           interpolation
           fall-off                          Modify
          Modify scene/light.cpp             SceneObjects/trimesh.cpp
        Implement reflection and
         refraction rays
            Modify most
             RayTracer.cpp
CS 354                                       9



         Extra Credit Embellishments
        Spatial data structures
            Speed up the ray traces
      Texture mapping
      Anti-aliasing
            Cast multiple rays per pixel
        Lighting effects
            Normal mapping, bump mapping,
             environment mapping
CS 354                                                                     10



           Other Project 4 Scenes




         recursive_depth.ray        turtle.ray             hitchcook.ray



                               cone.ray          spheres.ray
CS 354                       11



         Debugging Display
CS 354                                                                                                                                                                     12

             Two Versions of
             Rendering Equation
                                                                                                                                      Occlusion (G) is zero




                                                                                                                                o




                                                Le (x, ω , λ , t ) +
                                                                                                                                         Le (x, ω , λ , t ) +
Lo (x, ω , λ , t ) =
                       ∫
                       Ω
                           f r (x, ω ′, ω , λ , t ) Li (x, ω ′, λ , t ) (−ω ′ • n) dω ′   Lo (x, ω , λ , t ) =
                                                                                                                 ∫     f r (x, ωyx , ω , λ , t ) L(y, ωyx , λ , t ) G (x, y ) dy
                                                                                                                 y∈Γ



           Integrate over hemisphere                                                                Integrate over all surface points
CS 354                                                            13



         Photon Mapping
        Two-pass global illumination algorithm
            Developed by Henrick Jensen (1996)
            Two passes
                 Randomly distribute photons around the scene
                      Called “photon map construction”
                 Render treating photons as mini-light sources
        Capable of efficiently generating otherwise very
         expensive effects
            Caustics
            Diffuse inter-reflections, such as color bleed
            Sub-surface scattering
CS 354                                                    14



         Light Tracing
        Trace rays from the light
            Contribution rays accumulate image samples
CS 354                                                                  15



         Photon Mapping Examples



                                     without diffuse     photo map
               caustics              interreflection    visualization




          sub-surface scattering

                                   diffuse interreflection
CS 354                                                 16

         Global Illumination Often Gated
         by Ray Tracing Speed
      Shooting rays tends to be the bottleneck
      Why?
          Lots of rays cast for quality
          Shadow rays, lots for soft shadows
          Reflection and refraction rays
        Speeding up global illumination generally
         means speeding up tracing of rays
          Shading operations can be expensive too
          But rays involve data structure traversal
CS 354                                                17

                                  More bounces
         Recursive Rays
        Reflections and
         refractions can spawn
         lots of rays




                                 Fewer bounces   17
CS 354                                    18



         Sufficient Shadow Ray Sampling
CS 354                                                                   19



          Distribution Ray Tracing
         Soft shadows
              Distribute shadow rays over light source region




         All shadow rays        No shadow rays      Some shadow rays
         hit light source,      hit light source,    hit light source,
         fully illuminated      fully shadowed      partially shadowed
CS 354                                                20



         Distribution Ray Tracing
        Motion blur
            Distribute rays over time




                                         Pool Balls
                                         Tom Porter
                                         RenderMan
CS 354                                                                      21



         Distribution Ray Tracing
         Depth of field
               Distribute rays across a discrete camera aperture




               No depth-of-field                              More rays




                                            Jittered
                                          depth-of-field



         More images for depth-of-field                    Even more rays
CS 354                                                                   22



         Acceleration Techniques
              Ray Tracing Acceleration Techniques


               Fast                   Fewer             Generalized
          Intersections               Rays                 Rays
                                     Statistical        Beam tracing
     Faster            Fewer         optimizations
   ray-object        ray-object      for illumination   Cone tracing
                                     convergence
 intersections     intersections                        Pencil tracing
 Object bounding   Bounding volume
 volumes           hierarchies
CS 354                                                      23

          Accelerating Ray Trace
          Intersection Operations
          Two key optimizations

     3.    Exploit binary searching
             Rather than linear searches
     4.    Group objects spatially
             Discard hierarchically
             Use quick-and-coarse tests…
             …to avoid slow-and-exact intersection tests
CS 354                                                           24

         Acceleration Structures:
         Bounding Volume Hierarchies
        Build hierarchy of bounding volumes
            Bounding volume of interior node has its children
CS 354                                          25



         Accelerate Ray Intersections
        Traverse hierarchy to accelerate ray
         intersections
            Intersect node content
             only if ray hits the
             bounding volume




         Skip intersection A, D, E, and F
CS 354                                                                26

          Accelerate Ray Intersection
          Algorithm
         Sort hits and detect early termination
         FindIntersection( Ray ray, Node node )
         {
           // Find intersections with child node bounding volumes
           …
           // Sort intersections closest to farthest
           …
           // Process intersections, checking for early termination
           min_t = infinity;
           for each intersected child i {
             if (min_t < bv_t[i]) break;
             shape_t = FindIntersection(ray, child);
             if (shape_t < min_t) { min_t = shape_t; }
           }
           return min_t; // closest intersection
         }
CS 354                                             27



         Bounding Volumes
        Axis-Aligned Bounding Boxes (AABB)
            min (x,y,z) & max(x,y,z)
            Trivial plane equations
        Bounding spheres
            Point and radius
            Ray and sphere intersection is easy
                 Solving a quadratic equation
        Oriented Bounding Box
            Might have tighter bounds than AABB
        Convex Polyhedron (Polytope)
CS 354                                                28



         Spatial Hierarchy
        Uniform grid
        Quadtree (2D) and Octree (3D)
            Exactly four or eight children
            Equal area/volume for each children
        KD Tree
            Two children, splitting in X, Y, or Z
            Axis aligned splitting planes
                 Not necessarily equal area/volume
        Binary Space Partitioning (BSP) Tree
            Arbitrary splitting planes
            Just two children
CS 354                                      29

         Space Subdivision
         Approaches

  Uniform grid               Octree
                             Quadtree




                             Binary
   KD Tree                   Space
                             Partitioning
                             Tree
CS 354                                         30



         Uniform Grid Construction
                        Preprocess scene
                        2. Find bounding box
                        3. Determine grid
                           resolution
CS 354                                               31



         Uniform Grid Construction
                        Preprocess scene
                        2. Find bounding box
                        3. Determine grid
                           resolution
                        4. Place object in cell if
                           its bounding box
                           overlaps the cell
CS 354                                               32



         Uniform Grid Construction
                        Preprocess scene
                        2. Find bounding box
                        3. Determine grid
                           resolution
                        4. Place object in cell if
                           its bounding box
                           overlaps the cell
                        5. Check that object
                           overlaps cell
CS 354                                                  33



         Uniform Grid Traversal
                        After processing…
                        Traverse grid
                         3D line = 3D-DDA
                        Digital Differential Analyzer

                        Advantages
                        Simple construction
                        Simple traversal

                        Disadvantage
                        Poor at sparse or huge
                        scenes
CS 354                                    34



         Binary Space Partitioning Tree
        2D view of BSP
CS 354                                                            35



         Binary Space Partitioning Trees
        Recursive search
            Partitioning plane has two nodes
 FindIntersection( Ray ray, Node node )
 {
   if node is leaf {
     intersect ray with each object in node
     return closest object (or nil)
   }
   near = child of node in half space containing ray’s origin
   far = the other child
   hit = FindIntersection( ray, near )
   if hit is null and ray intersections plane defined by node {
     hit = FindIntersection( ray, far )
   }
   return hit;
 }
CS 354                                 36



         BSP Intersection with a Ray
CS 354                                           37



         Optimizing Bounding Hierarchies
        Complex meshes need to be partitioned
         into bounding hierarchy




           [Saut, Sidobre, 2012]
CS 354                                                  38



         Octree Building
        Building octree from boundary representation
CS 354                                                      39



         KD-tree
        Like an Octree
          But dividing planes aren’t necessarily in even
           octo squares
          Tighter bounds




             [Mahmoud Zidan]
CS 354                                                      40

         Close Cousin of Ray Tracing:
         Volume Rendering
        Common task: visualization of volumetric data
            Data arranged in 3D “voxel” grid
                 Voxel = volume element
            Applications: medical, oil & gas exploration
CS 354                                                              41



         Simple Case of Ray Casting
        Rays are all coherent
        GPU-oriented Volume rendering
          Draw 3D textured polygons slicing through a 3D texture
          Apply transfer function
          Blend in ray order—use framebuffer blending
CS 354                                                        42



         Transfer Function
        Give viewer control of how volumetric data
         maps to color & opacity
            Transfer functions enable visualization of
             otherwise difficult-to-understand mass of data
CS 354                                           43



         Volume Rendering Examples


                         Head with clip planes




           Liver tumor
CS 354                                                        44



         Next Class
        Next lecture
            Performance analysis
            Considerations for tuning interactive graphics
             applications

        Reading
            Chapter 8, 455-460
            Chapter 11, 578-601

        Project 4
            Project 4 is a simple ray tracer
            Due Wednesday, May 2, 2012

Weitere ähnliche Inhalte

Was ist angesagt?

CS 354 Blending, Compositing, Anti-aliasing
CS 354 Blending, Compositing, Anti-aliasingCS 354 Blending, Compositing, Anti-aliasing
CS 354 Blending, Compositing, Anti-aliasingMark Kilgard
 
CS 354 Final Exam Review
CS 354 Final Exam ReviewCS 354 Final Exam Review
CS 354 Final Exam ReviewMark Kilgard
 
CS 354 Ray Casting & Tracing
CS 354 Ray Casting & TracingCS 354 Ray Casting & Tracing
CS 354 Ray Casting & TracingMark Kilgard
 
CS 354 Object Viewing and Representation
CS 354 Object Viewing and RepresentationCS 354 Object Viewing and Representation
CS 354 Object Viewing and RepresentationMark Kilgard
 
CS 354 Project 2 and Compression
CS 354 Project 2 and CompressionCS 354 Project 2 and Compression
CS 354 Project 2 and CompressionMark Kilgard
 
CS 354 Graphics Math
CS 354 Graphics MathCS 354 Graphics Math
CS 354 Graphics MathMark Kilgard
 
CS 354 Programmable Shading
CS 354 Programmable ShadingCS 354 Programmable Shading
CS 354 Programmable ShadingMark Kilgard
 
Shadow Volumes on Programmable Graphics Hardware
Shadow Volumes on Programmable Graphics HardwareShadow Volumes on Programmable Graphics Hardware
Shadow Volumes on Programmable Graphics Hardwarestefan_b
 
CS 354 Surfaces, Programmable Tessellation, and NPR Graphics
CS 354 Surfaces, Programmable Tessellation, and NPR GraphicsCS 354 Surfaces, Programmable Tessellation, and NPR Graphics
CS 354 Surfaces, Programmable Tessellation, and NPR GraphicsMark Kilgard
 
A Physical Approach to Moving Cast Shadow Detection (ICASSP 2009)
A Physical Approach to Moving Cast Shadow Detection (ICASSP 2009)A Physical Approach to Moving Cast Shadow Detection (ICASSP 2009)
A Physical Approach to Moving Cast Shadow Detection (ICASSP 2009)Jia-Bin Huang
 
Estimating Human Pose from Occluded Images (ACCV 2009)
Estimating Human Pose from Occluded Images (ACCV 2009)Estimating Human Pose from Occluded Images (ACCV 2009)
Estimating Human Pose from Occluded Images (ACCV 2009)Jia-Bin Huang
 
Robust Stenciled Shadow Volumes
Robust Stenciled Shadow VolumesRobust Stenciled Shadow Volumes
Robust Stenciled Shadow VolumesMark Kilgard
 
CS 354 GPU Architecture
CS 354 GPU ArchitectureCS 354 GPU Architecture
CS 354 GPU ArchitectureMark Kilgard
 
CS 354 Viewing Stuff
CS 354 Viewing StuffCS 354 Viewing Stuff
CS 354 Viewing StuffMark Kilgard
 
Around the World in 80 Shaders
Around the World in 80 ShadersAround the World in 80 Shaders
Around the World in 80 Shadersstevemcauley
 
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...홍배 김
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Tiago Sousa
 
Implementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES rendererImplementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES rendererDavide Pasca
 

Was ist angesagt? (20)

CS 354 Blending, Compositing, Anti-aliasing
CS 354 Blending, Compositing, Anti-aliasingCS 354 Blending, Compositing, Anti-aliasing
CS 354 Blending, Compositing, Anti-aliasing
 
CS 354 Final Exam Review
CS 354 Final Exam ReviewCS 354 Final Exam Review
CS 354 Final Exam Review
 
CS 354 Ray Casting & Tracing
CS 354 Ray Casting & TracingCS 354 Ray Casting & Tracing
CS 354 Ray Casting & Tracing
 
CS 354 Typography
CS 354 TypographyCS 354 Typography
CS 354 Typography
 
CS 354 Object Viewing and Representation
CS 354 Object Viewing and RepresentationCS 354 Object Viewing and Representation
CS 354 Object Viewing and Representation
 
CS 354 Project 2 and Compression
CS 354 Project 2 and CompressionCS 354 Project 2 and Compression
CS 354 Project 2 and Compression
 
CS 354 Graphics Math
CS 354 Graphics MathCS 354 Graphics Math
CS 354 Graphics Math
 
CS 354 Programmable Shading
CS 354 Programmable ShadingCS 354 Programmable Shading
CS 354 Programmable Shading
 
Shadow Volumes on Programmable Graphics Hardware
Shadow Volumes on Programmable Graphics HardwareShadow Volumes on Programmable Graphics Hardware
Shadow Volumes on Programmable Graphics Hardware
 
CS 354 Surfaces, Programmable Tessellation, and NPR Graphics
CS 354 Surfaces, Programmable Tessellation, and NPR GraphicsCS 354 Surfaces, Programmable Tessellation, and NPR Graphics
CS 354 Surfaces, Programmable Tessellation, and NPR Graphics
 
A Physical Approach to Moving Cast Shadow Detection (ICASSP 2009)
A Physical Approach to Moving Cast Shadow Detection (ICASSP 2009)A Physical Approach to Moving Cast Shadow Detection (ICASSP 2009)
A Physical Approach to Moving Cast Shadow Detection (ICASSP 2009)
 
Estimating Human Pose from Occluded Images (ACCV 2009)
Estimating Human Pose from Occluded Images (ACCV 2009)Estimating Human Pose from Occluded Images (ACCV 2009)
Estimating Human Pose from Occluded Images (ACCV 2009)
 
Robust Stenciled Shadow Volumes
Robust Stenciled Shadow VolumesRobust Stenciled Shadow Volumes
Robust Stenciled Shadow Volumes
 
CS 354 GPU Architecture
CS 354 GPU ArchitectureCS 354 GPU Architecture
CS 354 GPU Architecture
 
CS 354 Viewing Stuff
CS 354 Viewing StuffCS 354 Viewing Stuff
CS 354 Viewing Stuff
 
Reyes
ReyesReyes
Reyes
 
Around the World in 80 Shaders
Around the World in 80 ShadersAround the World in 80 Shaders
Around the World in 80 Shaders
 
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
 
Implementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES rendererImplementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES renderer
 

Andere mochten auch

NVIDIA OpenGL in 2016
NVIDIA OpenGL in 2016NVIDIA OpenGL in 2016
NVIDIA OpenGL in 2016Mark Kilgard
 
Out-of-Core Construction of Sparse Voxel Octrees
Out-of-Core Construction of Sparse Voxel OctreesOut-of-Core Construction of Sparse Voxel Octrees
Out-of-Core Construction of Sparse Voxel OctreesJeroen Baert
 
CS 354 Procedural Methods
CS 354 Procedural MethodsCS 354 Procedural Methods
CS 354 Procedural MethodsMark Kilgard
 
CS 354 Performance Analysis
CS 354 Performance AnalysisCS 354 Performance Analysis
CS 354 Performance AnalysisMark Kilgard
 
CS 354 Project 1 Discussion
CS 354 Project 1 DiscussionCS 354 Project 1 Discussion
CS 354 Project 1 DiscussionMark Kilgard
 
CS 354 Introduction
CS 354 IntroductionCS 354 Introduction
CS 354 IntroductionMark Kilgard
 

Andere mochten auch (6)

NVIDIA OpenGL in 2016
NVIDIA OpenGL in 2016NVIDIA OpenGL in 2016
NVIDIA OpenGL in 2016
 
Out-of-Core Construction of Sparse Voxel Octrees
Out-of-Core Construction of Sparse Voxel OctreesOut-of-Core Construction of Sparse Voxel Octrees
Out-of-Core Construction of Sparse Voxel Octrees
 
CS 354 Procedural Methods
CS 354 Procedural MethodsCS 354 Procedural Methods
CS 354 Procedural Methods
 
CS 354 Performance Analysis
CS 354 Performance AnalysisCS 354 Performance Analysis
CS 354 Performance Analysis
 
CS 354 Project 1 Discussion
CS 354 Project 1 DiscussionCS 354 Project 1 Discussion
CS 354 Project 1 Discussion
 
CS 354 Introduction
CS 354 IntroductionCS 354 Introduction
CS 354 Introduction
 

Ähnlich wie CS 354 Acceleration Structures

Learning Moving Cast Shadows for Foreground Detection (VS 2008)
Learning Moving Cast Shadows for Foreground Detection (VS 2008)Learning Moving Cast Shadows for Foreground Detection (VS 2008)
Learning Moving Cast Shadows for Foreground Detection (VS 2008)Jia-Bin Huang
 
Simulations of Strong Lensing
Simulations of Strong LensingSimulations of Strong Lensing
Simulations of Strong LensingNan Li
 
Color Img at Prisma Network meeting 2009
Color Img at Prisma Network meeting 2009Color Img at Prisma Network meeting 2009
Color Img at Prisma Network meeting 2009Juan Luis Nieves
 
Image formation
Image formationImage formation
Image formationpotaters
 
Benchmark Calculations of Atomic Data for Modelling Applications
 Benchmark Calculations of Atomic Data for Modelling Applications Benchmark Calculations of Atomic Data for Modelling Applications
Benchmark Calculations of Atomic Data for Modelling ApplicationsAstroAtom
 
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingSIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingElectronic Arts / DICE
 
Practical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsPractical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsNaughty Dog
 
IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb)
IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb) IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb)
IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb) Charles Deledalle
 
Modern features-part-1-detectors
Modern features-part-1-detectorsModern features-part-1-detectors
Modern features-part-1-detectorszukun
 
Lecture 02 internet video search
Lecture 02 internet video searchLecture 02 internet video search
Lecture 02 internet video searchzukun
 
Polariscope: Practical Design
Polariscope: Practical DesignPolariscope: Practical Design
Polariscope: Practical Designsomandal88
 
Intro to threp
Intro to threpIntro to threp
Intro to threpHong Wu
 
Practical spherical harmonics based PRT methods.ppsx
Practical spherical harmonics based PRT methods.ppsxPractical spherical harmonics based PRT methods.ppsx
Practical spherical harmonics based PRT methods.ppsxMannyK4
 
Fingerprint High Level Classification
Fingerprint High Level ClassificationFingerprint High Level Classification
Fingerprint High Level ClassificationReza Rahimi
 
CVPR2010: Advanced ITinCVPR in a Nutshell: part 2: Interest Points
CVPR2010: Advanced ITinCVPR in a Nutshell: part 2: Interest PointsCVPR2010: Advanced ITinCVPR in a Nutshell: part 2: Interest Points
CVPR2010: Advanced ITinCVPR in a Nutshell: part 2: Interest Pointszukun
 
Accommodation-invariant Computational Near-eye Displays - SIGGRAPH 2017
Accommodation-invariant Computational Near-eye Displays - SIGGRAPH 2017Accommodation-invariant Computational Near-eye Displays - SIGGRAPH 2017
Accommodation-invariant Computational Near-eye Displays - SIGGRAPH 2017StanfordComputationalImaging
 
Trident International Graphics Workshop2014 3/5
Trident International Graphics Workshop2014 3/5Trident International Graphics Workshop2014 3/5
Trident International Graphics Workshop2014 3/5Takao Wada
 
Accelarating Optical Quadrature Microscopy Using GPUs
Accelarating Optical Quadrature Microscopy Using GPUsAccelarating Optical Quadrature Microscopy Using GPUs
Accelarating Optical Quadrature Microscopy Using GPUsPerhaad Mistry
 

Ähnlich wie CS 354 Acceleration Structures (20)

Learning Moving Cast Shadows for Foreground Detection (VS 2008)
Learning Moving Cast Shadows for Foreground Detection (VS 2008)Learning Moving Cast Shadows for Foreground Detection (VS 2008)
Learning Moving Cast Shadows for Foreground Detection (VS 2008)
 
Simulations of Strong Lensing
Simulations of Strong LensingSimulations of Strong Lensing
Simulations of Strong Lensing
 
Color Img at Prisma Network meeting 2009
Color Img at Prisma Network meeting 2009Color Img at Prisma Network meeting 2009
Color Img at Prisma Network meeting 2009
 
SA09 Realtime education
SA09 Realtime educationSA09 Realtime education
SA09 Realtime education
 
Image formation
Image formationImage formation
Image formation
 
Benchmark Calculations of Atomic Data for Modelling Applications
 Benchmark Calculations of Atomic Data for Modelling Applications Benchmark Calculations of Atomic Data for Modelling Applications
Benchmark Calculations of Atomic Data for Modelling Applications
 
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingSIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
 
Practical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsPractical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT Methods
 
IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb)
IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb) IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb)
IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb)
 
Modern features-part-1-detectors
Modern features-part-1-detectorsModern features-part-1-detectors
Modern features-part-1-detectors
 
Lecture 02 internet video search
Lecture 02 internet video searchLecture 02 internet video search
Lecture 02 internet video search
 
Polariscope: Practical Design
Polariscope: Practical DesignPolariscope: Practical Design
Polariscope: Practical Design
 
Intro to threp
Intro to threpIntro to threp
Intro to threp
 
Practical spherical harmonics based PRT methods.ppsx
Practical spherical harmonics based PRT methods.ppsxPractical spherical harmonics based PRT methods.ppsx
Practical spherical harmonics based PRT methods.ppsx
 
Fingerprint High Level Classification
Fingerprint High Level ClassificationFingerprint High Level Classification
Fingerprint High Level Classification
 
Hoip10 presentacion cambios de color_univ_granada
Hoip10 presentacion cambios de color_univ_granadaHoip10 presentacion cambios de color_univ_granada
Hoip10 presentacion cambios de color_univ_granada
 
CVPR2010: Advanced ITinCVPR in a Nutshell: part 2: Interest Points
CVPR2010: Advanced ITinCVPR in a Nutshell: part 2: Interest PointsCVPR2010: Advanced ITinCVPR in a Nutshell: part 2: Interest Points
CVPR2010: Advanced ITinCVPR in a Nutshell: part 2: Interest Points
 
Accommodation-invariant Computational Near-eye Displays - SIGGRAPH 2017
Accommodation-invariant Computational Near-eye Displays - SIGGRAPH 2017Accommodation-invariant Computational Near-eye Displays - SIGGRAPH 2017
Accommodation-invariant Computational Near-eye Displays - SIGGRAPH 2017
 
Trident International Graphics Workshop2014 3/5
Trident International Graphics Workshop2014 3/5Trident International Graphics Workshop2014 3/5
Trident International Graphics Workshop2014 3/5
 
Accelarating Optical Quadrature Microscopy Using GPUs
Accelarating Optical Quadrature Microscopy Using GPUsAccelarating Optical Quadrature Microscopy Using GPUs
Accelarating Optical Quadrature Microscopy Using GPUs
 

Mehr von Mark Kilgard

D11: a high-performance, protocol-optional, transport-optional, window system...
D11: a high-performance, protocol-optional, transport-optional, window system...D11: a high-performance, protocol-optional, transport-optional, window system...
D11: a high-performance, protocol-optional, transport-optional, window system...Mark Kilgard
 
Computers, Graphics, Engineering, Math, and Video Games for High School Students
Computers, Graphics, Engineering, Math, and Video Games for High School StudentsComputers, Graphics, Engineering, Math, and Video Games for High School Students
Computers, Graphics, Engineering, Math, and Video Games for High School StudentsMark Kilgard
 
NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017Mark Kilgard
 
NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017Mark Kilgard
 
Virtual Reality Features of NVIDIA GPUs
Virtual Reality Features of NVIDIA GPUsVirtual Reality Features of NVIDIA GPUs
Virtual Reality Features of NVIDIA GPUsMark Kilgard
 
Migrating from OpenGL to Vulkan
Migrating from OpenGL to VulkanMigrating from OpenGL to Vulkan
Migrating from OpenGL to VulkanMark Kilgard
 
EXT_window_rectangles
EXT_window_rectanglesEXT_window_rectangles
EXT_window_rectanglesMark Kilgard
 
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Mark Kilgard
 
Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
Accelerating Vector Graphics Rendering using the Graphics Hardware PipelineAccelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
Accelerating Vector Graphics Rendering using the Graphics Hardware PipelineMark Kilgard
 
NV_path rendering Functional Improvements
NV_path rendering Functional ImprovementsNV_path rendering Functional Improvements
NV_path rendering Functional ImprovementsMark Kilgard
 
OpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsOpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsMark Kilgard
 
SIGGRAPH Asia 2012: GPU-accelerated Path Rendering
SIGGRAPH Asia 2012: GPU-accelerated Path RenderingSIGGRAPH Asia 2012: GPU-accelerated Path Rendering
SIGGRAPH Asia 2012: GPU-accelerated Path RenderingMark Kilgard
 
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and BeyondSIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and BeyondMark Kilgard
 
Programming with NV_path_rendering: An Annex to the SIGGRAPH Asia 2012 paper...
Programming with NV_path_rendering:  An Annex to the SIGGRAPH Asia 2012 paper...Programming with NV_path_rendering:  An Annex to the SIGGRAPH Asia 2012 paper...
Programming with NV_path_rendering: An Annex to the SIGGRAPH Asia 2012 paper...Mark Kilgard
 
GPU accelerated path rendering fastforward
GPU accelerated path rendering fastforwardGPU accelerated path rendering fastforward
GPU accelerated path rendering fastforwardMark Kilgard
 
GPU-accelerated Path Rendering
GPU-accelerated Path RenderingGPU-accelerated Path Rendering
GPU-accelerated Path RenderingMark Kilgard
 
SIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
SIGGRAPH 2012: GPU-Accelerated 2D and Web RenderingSIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
SIGGRAPH 2012: GPU-Accelerated 2D and Web RenderingMark Kilgard
 
SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012Mark Kilgard
 
GTC 2012: GPU-Accelerated Path Rendering
GTC 2012: GPU-Accelerated Path RenderingGTC 2012: GPU-Accelerated Path Rendering
GTC 2012: GPU-Accelerated Path Rendering Mark Kilgard
 

Mehr von Mark Kilgard (20)

D11: a high-performance, protocol-optional, transport-optional, window system...
D11: a high-performance, protocol-optional, transport-optional, window system...D11: a high-performance, protocol-optional, transport-optional, window system...
D11: a high-performance, protocol-optional, transport-optional, window system...
 
Computers, Graphics, Engineering, Math, and Video Games for High School Students
Computers, Graphics, Engineering, Math, and Video Games for High School StudentsComputers, Graphics, Engineering, Math, and Video Games for High School Students
Computers, Graphics, Engineering, Math, and Video Games for High School Students
 
NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017
 
NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017
 
Virtual Reality Features of NVIDIA GPUs
Virtual Reality Features of NVIDIA GPUsVirtual Reality Features of NVIDIA GPUs
Virtual Reality Features of NVIDIA GPUs
 
Migrating from OpenGL to Vulkan
Migrating from OpenGL to VulkanMigrating from OpenGL to Vulkan
Migrating from OpenGL to Vulkan
 
EXT_window_rectangles
EXT_window_rectanglesEXT_window_rectangles
EXT_window_rectangles
 
OpenGL for 2015
OpenGL for 2015OpenGL for 2015
OpenGL for 2015
 
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
 
Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
Accelerating Vector Graphics Rendering using the Graphics Hardware PipelineAccelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
 
NV_path rendering Functional Improvements
NV_path rendering Functional ImprovementsNV_path rendering Functional Improvements
NV_path rendering Functional Improvements
 
OpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsOpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUs
 
SIGGRAPH Asia 2012: GPU-accelerated Path Rendering
SIGGRAPH Asia 2012: GPU-accelerated Path RenderingSIGGRAPH Asia 2012: GPU-accelerated Path Rendering
SIGGRAPH Asia 2012: GPU-accelerated Path Rendering
 
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and BeyondSIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
 
Programming with NV_path_rendering: An Annex to the SIGGRAPH Asia 2012 paper...
Programming with NV_path_rendering:  An Annex to the SIGGRAPH Asia 2012 paper...Programming with NV_path_rendering:  An Annex to the SIGGRAPH Asia 2012 paper...
Programming with NV_path_rendering: An Annex to the SIGGRAPH Asia 2012 paper...
 
GPU accelerated path rendering fastforward
GPU accelerated path rendering fastforwardGPU accelerated path rendering fastforward
GPU accelerated path rendering fastforward
 
GPU-accelerated Path Rendering
GPU-accelerated Path RenderingGPU-accelerated Path Rendering
GPU-accelerated Path Rendering
 
SIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
SIGGRAPH 2012: GPU-Accelerated 2D and Web RenderingSIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
SIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
 
SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012
 
GTC 2012: GPU-Accelerated Path Rendering
GTC 2012: GPU-Accelerated Path RenderingGTC 2012: GPU-Accelerated Path Rendering
GTC 2012: GPU-Accelerated Path Rendering
 

Kürzlich hochgeladen

Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 

Kürzlich hochgeladen (20)

Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 

CS 354 Acceleration Structures

  • 2. CS 354 2 Today’s material  In-class quiz  On global illumination lecture  Lecture topic  Project 4  Acceleration structures
  • 3. CS 354 3 My Office Hours  Tuesday, before class  Painter (PAI) 5.35  8:45 a.m. to 9:15  Thursday, after class  ACE 6.302  11:00 a.m. to 12  Randy’s office hours  Monday & Wednesday  11 a.m. to 12:00  Painter (PAI) 5.33
  • 4. CS 354 4 Last time, this time  Last lecture, we discussed  Global illumination  This lecture  Acceleration structures  Projects  Project 4 on ray tracing on Piazza  Due May 2, 2012  Get started!
  • 5. CS 354 5 On a sheet of paper Daily Quiz • Write your EID, name, and date • Write #1, #2, #3, #4 followed by its answer  Multiple choice: In the Russian Roulette approach to termination of  Multiple choice: Modeling the tracing recursive rays, termination influence of participating media occurs simulates a) after a fixed number of ray a) motion blur traces b) fog b) after a random number of ray casts between 1 and a fixed c) smoke constant d) a., b., and c. c) when an analytic solution can be reached e) b. and c. d) every trace has a random  True of False: Classic Radiosity chance of being terminated assume the Bidirectional Reflectance Distribution Function of all surfaces in  True or False: A bidirectional the scene are Lambertian. reflectance distribution function returns a negative value approximately 50% of the time.
  • 6. CS 354 6 Project 4  Provides ray tracing framework  Use FLTK toolkit for user interface  Includes sample scenes—.ray files dragon.ray
  • 7. CS 354 7 Sample File: sphere.ray SBT-raytracer 1.0 point_light { position = (-2, 2, -2); camera { colour = (1, 0.3, 0.3); position = (0,0,-4); constant_attenuation_coeff= 0.25; viewdir = (0,0,1); linear_attenuation_coeff = aspectratio = 1; 0.003372407; updir = (0,1,0); quadratic_attenuation_coeff = 0.000045492; } } directional_light { material = { direction = (0, 0, 1); diffuse = (0.4,0.8,0.2); colour = (0.2, 0.2, 0.2); specular = (1,1,0); } shininess = 64; } scale(1.5, sphere { }) scale(2,sphere{});
  • 8. CS 354 8 What You Must Implement  Blinn-Phong lighting  Implement shadow ray model  Modify most  Ambient, diffuse, specular RayTracer.cpp  Modify scene/material.cpp  Implement triangle mesh  Point light distance intersection attenuation  Including normal  Inverse squared distance interpolation fall-off  Modify  Modify scene/light.cpp SceneObjects/trimesh.cpp  Implement reflection and refraction rays  Modify most RayTracer.cpp
  • 9. CS 354 9 Extra Credit Embellishments  Spatial data structures  Speed up the ray traces  Texture mapping  Anti-aliasing  Cast multiple rays per pixel  Lighting effects  Normal mapping, bump mapping, environment mapping
  • 10. CS 354 10 Other Project 4 Scenes recursive_depth.ray turtle.ray hitchcook.ray cone.ray spheres.ray
  • 11. CS 354 11 Debugging Display
  • 12. CS 354 12 Two Versions of Rendering Equation Occlusion (G) is zero o Le (x, ω , λ , t ) + Le (x, ω , λ , t ) + Lo (x, ω , λ , t ) = ∫ Ω f r (x, ω ′, ω , λ , t ) Li (x, ω ′, λ , t ) (−ω ′ • n) dω ′ Lo (x, ω , λ , t ) = ∫ f r (x, ωyx , ω , λ , t ) L(y, ωyx , λ , t ) G (x, y ) dy y∈Γ Integrate over hemisphere Integrate over all surface points
  • 13. CS 354 13 Photon Mapping  Two-pass global illumination algorithm  Developed by Henrick Jensen (1996)  Two passes  Randomly distribute photons around the scene  Called “photon map construction”  Render treating photons as mini-light sources  Capable of efficiently generating otherwise very expensive effects  Caustics  Diffuse inter-reflections, such as color bleed  Sub-surface scattering
  • 14. CS 354 14 Light Tracing  Trace rays from the light  Contribution rays accumulate image samples
  • 15. CS 354 15 Photon Mapping Examples without diffuse photo map caustics interreflection visualization sub-surface scattering diffuse interreflection
  • 16. CS 354 16 Global Illumination Often Gated by Ray Tracing Speed  Shooting rays tends to be the bottleneck  Why?  Lots of rays cast for quality  Shadow rays, lots for soft shadows  Reflection and refraction rays  Speeding up global illumination generally means speeding up tracing of rays  Shading operations can be expensive too  But rays involve data structure traversal
  • 17. CS 354 17 More bounces Recursive Rays  Reflections and refractions can spawn lots of rays Fewer bounces 17
  • 18. CS 354 18 Sufficient Shadow Ray Sampling
  • 19. CS 354 19 Distribution Ray Tracing  Soft shadows  Distribute shadow rays over light source region All shadow rays No shadow rays Some shadow rays hit light source, hit light source, hit light source, fully illuminated fully shadowed partially shadowed
  • 20. CS 354 20 Distribution Ray Tracing  Motion blur  Distribute rays over time Pool Balls Tom Porter RenderMan
  • 21. CS 354 21 Distribution Ray Tracing  Depth of field  Distribute rays across a discrete camera aperture No depth-of-field More rays Jittered depth-of-field More images for depth-of-field Even more rays
  • 22. CS 354 22 Acceleration Techniques Ray Tracing Acceleration Techniques Fast Fewer Generalized Intersections Rays Rays Statistical Beam tracing Faster Fewer optimizations ray-object ray-object for illumination Cone tracing convergence intersections intersections Pencil tracing Object bounding Bounding volume volumes hierarchies
  • 23. CS 354 23 Accelerating Ray Trace Intersection Operations  Two key optimizations 3. Exploit binary searching  Rather than linear searches 4. Group objects spatially  Discard hierarchically  Use quick-and-coarse tests…  …to avoid slow-and-exact intersection tests
  • 24. CS 354 24 Acceleration Structures: Bounding Volume Hierarchies  Build hierarchy of bounding volumes  Bounding volume of interior node has its children
  • 25. CS 354 25 Accelerate Ray Intersections  Traverse hierarchy to accelerate ray intersections  Intersect node content only if ray hits the bounding volume Skip intersection A, D, E, and F
  • 26. CS 354 26 Accelerate Ray Intersection Algorithm  Sort hits and detect early termination FindIntersection( Ray ray, Node node ) { // Find intersections with child node bounding volumes … // Sort intersections closest to farthest … // Process intersections, checking for early termination min_t = infinity; for each intersected child i { if (min_t < bv_t[i]) break; shape_t = FindIntersection(ray, child); if (shape_t < min_t) { min_t = shape_t; } } return min_t; // closest intersection }
  • 27. CS 354 27 Bounding Volumes  Axis-Aligned Bounding Boxes (AABB)  min (x,y,z) & max(x,y,z)  Trivial plane equations  Bounding spheres  Point and radius  Ray and sphere intersection is easy  Solving a quadratic equation  Oriented Bounding Box  Might have tighter bounds than AABB  Convex Polyhedron (Polytope)
  • 28. CS 354 28 Spatial Hierarchy  Uniform grid  Quadtree (2D) and Octree (3D)  Exactly four or eight children  Equal area/volume for each children  KD Tree  Two children, splitting in X, Y, or Z  Axis aligned splitting planes  Not necessarily equal area/volume  Binary Space Partitioning (BSP) Tree  Arbitrary splitting planes  Just two children
  • 29. CS 354 29 Space Subdivision Approaches Uniform grid Octree Quadtree Binary KD Tree Space Partitioning Tree
  • 30. CS 354 30 Uniform Grid Construction Preprocess scene 2. Find bounding box 3. Determine grid resolution
  • 31. CS 354 31 Uniform Grid Construction Preprocess scene 2. Find bounding box 3. Determine grid resolution 4. Place object in cell if its bounding box overlaps the cell
  • 32. CS 354 32 Uniform Grid Construction Preprocess scene 2. Find bounding box 3. Determine grid resolution 4. Place object in cell if its bounding box overlaps the cell 5. Check that object overlaps cell
  • 33. CS 354 33 Uniform Grid Traversal After processing… Traverse grid 3D line = 3D-DDA Digital Differential Analyzer Advantages Simple construction Simple traversal Disadvantage Poor at sparse or huge scenes
  • 34. CS 354 34 Binary Space Partitioning Tree  2D view of BSP
  • 35. CS 354 35 Binary Space Partitioning Trees  Recursive search  Partitioning plane has two nodes FindIntersection( Ray ray, Node node ) { if node is leaf { intersect ray with each object in node return closest object (or nil) } near = child of node in half space containing ray’s origin far = the other child hit = FindIntersection( ray, near ) if hit is null and ray intersections plane defined by node { hit = FindIntersection( ray, far ) } return hit; }
  • 36. CS 354 36 BSP Intersection with a Ray
  • 37. CS 354 37 Optimizing Bounding Hierarchies  Complex meshes need to be partitioned into bounding hierarchy [Saut, Sidobre, 2012]
  • 38. CS 354 38 Octree Building  Building octree from boundary representation
  • 39. CS 354 39 KD-tree  Like an Octree  But dividing planes aren’t necessarily in even octo squares  Tighter bounds [Mahmoud Zidan]
  • 40. CS 354 40 Close Cousin of Ray Tracing: Volume Rendering  Common task: visualization of volumetric data  Data arranged in 3D “voxel” grid  Voxel = volume element  Applications: medical, oil & gas exploration
  • 41. CS 354 41 Simple Case of Ray Casting  Rays are all coherent  GPU-oriented Volume rendering  Draw 3D textured polygons slicing through a 3D texture  Apply transfer function  Blend in ray order—use framebuffer blending
  • 42. CS 354 42 Transfer Function  Give viewer control of how volumetric data maps to color & opacity  Transfer functions enable visualization of otherwise difficult-to-understand mass of data
  • 43. CS 354 43 Volume Rendering Examples Head with clip planes Liver tumor
  • 44. CS 354 44 Next Class  Next lecture  Performance analysis  Considerations for tuning interactive graphics applications  Reading  Chapter 8, 455-460  Chapter 11, 578-601  Project 4  Project 4 is a simple ray tracer  Due Wednesday, May 2, 2012