SlideShare uma empresa Scribd logo
1 de 44
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Semelhante a CS 354 Acceleration Structures Lecture Notes

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
 

Semelhante a CS 354 Acceleration Structures Lecture Notes (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
 

Mais de 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
 

Mais de 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
 

Último

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Último (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

CS 354 Acceleration Structures Lecture Notes

  • 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