SlideShare a Scribd company logo
Caustic Object Construction
Based on Multiple Caustic
Patterns

Budianto Tandianus, Henry Johan, Hock Soon Seah

School of Computer Engineering
gameLAB

Nanyang Technological University
CONTENT

•   Introduction
•   Related Work
•   Basic Idea
•   Improving the Reconstructed Caustics
•   Geometry Construction
•   Results
•   Applications
•   Conclusions and Future Work
INTRODUCTION

      • What is caustics ?


                                 Caustics




Glasses/reflector

(Caustic Object)


                               Light source

                             From bottom plate
CAUSTICS IN COMPUTER GRAPHICS

• Typically simulated in CG by using Photon
  Mapping (Jensen 1996, Graphics Interface)




       Jensen 1996               Kruger et al. 2006            Wyman 2008

    Graphics Interface    Eurographics Symp. on Rendering           i3D




Spencer and Jones 2009               Hu et al. 2010         Tandianus et al. 2010

Computer Graphics Forum                   i3D                      ICEC
CAUSTICS IN COMPUTER GRAPHICS

• The previous slide shows forward problem of
  caustics in computer graphics :
   – Input : caustic object, light source, and
     diffuse surface
   – Output : caustic pattern

• But how about inverse caustics problem ?
   – Input : caustic pattern, light source,
     and diffuse surface
   – Output : caustic object
RELATED WORK

• Reflective caustics in an optical set
   – Patow et al. 2004, International Journal of Shape
      Modelling
   – Patow et al. 2007, Computer & Graphics
   – Mas et al. 2009, Computer Graphics Forum
• Reflector is represented as grid of vertices or cells
• Is validated using computer simulation




             Optical set        Target and reconstructed
                                        caustics
RELATED WORK

• Generate smooth B-Spline surface (Finckh et al 2010,
  European Conference on Computer Vision)
• Optimize the control points until they can reconstruct the
  caustic patterns
• Another similar work by Anson et. Al. 2008, CEIG 2008
   – Surface is represented as a NURBS and caustic
      pattern shape is assumed to be circular
• Is validated using computer simulation
RELATED WORK

• Generate a small patch that can have certain
  BRDF or caustic pattern (Weyrich et al. 2009,
  Transactions on Graphics)
• The patch is subdivided into a regular grid of
  cells




  Target and reconstructed      Real-life validation
      caustic patterns
RELATED WORK

• Refractive caustics on a larger scale (Papas et
  al. 2011, Computer Graphics Forum)
• Improvement of their previous work (Weyrich
  et al. 2009, Transactions on Graphics)
RELATED WORK

• The most recent work, focusing on modularity
  (Yue et al. 2012, Computer Graphics Forum)
• Compute optimal combination of caustic object
  cells with predefined refraction directions




  Assembling caustic object     Generated caustic pattern
             from               by using assembled caustic
 pieces of predefined caustic              object
         object cells
RELATED WORK

• All these work can generate caustic
  objects producing interesting caustic
  patterns

• However, they only consider a single
  caustic pattern
   – How about if multiple caustic
     patterns ?
OUR WORK


• Multiple caustic patterns with each caustic
  pattern is formed at a location
• Is validated using mental ray
BASIC IDEA

• Input : multiple caustic patterns, directional light
  source, and planar diffuse surface (caustic
  receiver)
• Output : caustic object




                   Our scene configuration
PROBLEM FORMULATION

• Many caustic object cell orientation possibilities
  that might satisfy the input caustic patterns




  Two caustic patterns input,    Possible combination
 compute refraction directions
OUR SOLUTION

• Represent each caustic pattern as a 2D
  probabilistic mass function (pmf)
• For each caustic object cell, to determine its
  refracted orientation, compute the joint pmf
  and select the refraction direction based on the
  joint pmf :



      Probability of the -th     A mapping function computing
      caustic object cell to     which
      select direction as          -th caustic pattern cell is hit by a
      the refraction direction   light refracted from the -th
                                 caustic object cell to the
      Number of caustic          pmf of the -th
                                 direction
      patterns in the scene      caustic pattern
OUR SOLUTION

• Joint pmf :
                Probability of the -th
                caustic object cell to
                select direction as
                the refraction direction
• Example :      A mapping function
                 computing which -th
                 caustic pattern cell is hit
                 by a light refracted from
                 the -th caustic object ce
                 to the direction

                Number of caustic
                patterns in the scene

                Pmf of the -th
                caustic pattern
PROBLEM




          Only a single caustic pattern




          With multiple caustic patterns
PROBLEM

• However, some sets of caustic patterns cannot
  be reconstructed well
   – Due to differences of the input caustic
     patterns
   – Cause some joint pmf to be zero (e.g.
     topmost caustic cell in the first caustic pattern
     of below figure)
IMPROVING THE RECONSTRUCTED
CAUSTICS
• Solutions :
   – Adjust positions and sizes of the caustic
     regions
   – Adjust shapes of the caustic regions

• Use Simulated Annealing

• Optimize the cost (based on L-2 distance)
ADJUSTING POSITIONS AND SIZES

• Iteratively translate the caustic regions in 3D space
    – In x (blue arrows in the left figure below) direction
    – In y (red arrows in the left figure below) direction
    – In z (pink arrows in the left figure below) direction, i.e.
      distance between the caustic pattern and the caustic
      object
• Scale the caustic regions (green arrows in the right figure
  below)




Translating the caustic regions Scaling the caustic regions
ADJUSTING SHAPES OF THE CAUSTIC
REGIONS
• Extend each caustic region such that missing
  caustic cells of other caustic patterns can be
  reconstructed




       The green caustic cell cannot           To solve this, the
    be reconstructed since all possible      second caustic region
 light paths passing through it hits empty       is extended
     part in the second caustic pattern
ADJUSTING SHAPES OF THE CAUSTIC
REGIONS
• At the same time, we also allow some light to
  miss some of the caustic patterns
• In the example figure below, Light #4 hits the
  first caustic pattern and misses the rest of
  caustic patterns
OPTIMIZATION RESULTS




         Without optimization
          Cost : 4.45 x 10-1
OPTIMIZATION RESULTS




         First optimization
         Cost : 4.08 x 10-1
OPTIMIZATION RESULTS




         Second optimization
          Cost : 2.64 x 10-1
GEOMETRY CONSTRUCTION

• Assume the z coordinate of each caustic object cell
  center is the same
• For each caustic object cell, from its refracted light
  direction, we can compute its normal, and in turn
  compute the coordinates of its four corners
• Close the vertical gaps between caustic object cells
RESULTS


• Specifications of PCs used in our experiments :
   – Intel i7 920 2.67 GHz (CPU) with NVIDIA
     GeForce GTX 285 (GPU)
   – Intel i7 880 3.07 GHz (CPU) with NVIDIA
     GeForce GT 330 (GPU)
RESULTS




                     Fruits
             four caustic patterns
          computational time : 7.7 hours
RESULTS




                    Four bars
              four caustic patterns
          computational time : 15.7 hours
RESULTS




                  Rotating star
              nine caustic patterns
          computational time : 27.6 hours
APPLICATIONS

• Arts
• Validation tests
• Information encoding
VIDEO




        Click to play
CONCLUSIONS

• Compute a caustic object that can
  generate a set of caustic patterns
• Our two-step optimization
  processes can alleviate the missing
  caustic problems
• Results are validated using mental
  ray
FUTURE WORK

• Manufacture the real caustic object for further
  validation
   – Need to devise an algorithm to smoothen
     the caustic object cells such that it is easy to
     manufacture

• Dynamic light
  – Static caustic object and caustic receiver
  – Different caustic pattern for every light
    position or direction
THE END
CAUSTICS IN COMPUTER GRAPHICS
ADJUSTING SHAPES OF THE CAUSTIC
REGIONS
• Extend each caustic region such that caustic
  cells of other caustic regions can be
  reconstructed
• However, adjusting too much will cause the
  caustic region to change too much
• Determine the maximum adjustment, by
  projecting the missing caustic cells and then
  iteratively compute good adjustment amount
ADJUSTING SHAPES OF THE CAUSTIC
REGIONS
• At the same time, also allow some light to miss some of
  the caustic patterns
• In the projection computation (previous slide) also count
  how many of projections that miss other caustic patterns
• Allow too much light to miss other caustic patterns will
  cause those caustic patterns to be too dark
• Also iteratively compute good amount of light to miss the
  caustic patterns

More Related Content

PPT
Lighting and shading
PPT
Lighting and shading
PDF
Learning to Perceive the 3D World
PDF
Lec05 filter
PPT
Interactive Refractions And Caustics Using Image Space Techniques
PDF
Contour-Constrained Superpixels for Image and Video Processing
PDF
Moving Cast Shadow Detection Using Physics-based Features (CVPR 2009)
PDF
APPEARANCE-BASED REPRESENTATION AND RENDERING OF CAST SHADOWS
Lighting and shading
Lighting and shading
Learning to Perceive the 3D World
Lec05 filter
Interactive Refractions And Caustics Using Image Space Techniques
Contour-Constrained Superpixels for Image and Video Processing
Moving Cast Shadow Detection Using Physics-based Features (CVPR 2009)
APPEARANCE-BASED REPRESENTATION AND RENDERING OF CAST SHADOWS

What's hot (20)

PPTX
[DL輪読会]PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection
PDF
Semantic Line Detection and Its Applications
PDF
Video Object Segmentation in Videos
PDF
Lec04 color
PPTX
Lec13 stereo converted
PDF
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video Processing (NeRF...
PPT
GRPHICS06 - Shading
PPT
Paris Master Class 2011 - 04 Shadow Maps
PDF
Lec10 alignment
PDF
Phong Shading over any Polygonal Surface
PPT
CS 354 Global Illumination
PDF
Online video object segmentation via convolutional trident network
PDF
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
PDF
Lec03 light
PDF
Lec09 hough
PDF
Lec14 multiview stereo
PPTX
illumination model in Computer Graphics by irru pychukar
PDF
Lec02 camera
PDF
Lec06 edge
PPTX
Illumination Model
[DL輪読会]PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection
Semantic Line Detection and Its Applications
Video Object Segmentation in Videos
Lec04 color
Lec13 stereo converted
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video Processing (NeRF...
GRPHICS06 - Shading
Paris Master Class 2011 - 04 Shadow Maps
Lec10 alignment
Phong Shading over any Polygonal Surface
CS 354 Global Illumination
Online video object segmentation via convolutional trident network
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
Lec03 light
Lec09 hough
Lec14 multiview stereo
illumination model in Computer Graphics by irru pychukar
Lec02 camera
Lec06 edge
Illumination Model
Ad

Viewers also liked (18)

PPTX
Artspecifier 12.26.2012
PPTX
The Virtual Clouds
PPTX
Visual Digital Media Technology
PDF
Landscape Presentation
PDF
File321
PDF
File321
PDF
PDF
PDF
PDF
Jerome 431 manual
PPTX
GPU-based Accelerated Spectral Caustic Rendering of Homogeneous Caustic Objects
PDF
Photography Promotion
PDF
General presentation 1
PPTX
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
PDF
Quick start krohne academy online
PDF
General Presentation 1
PDF
FLOWER PRESENTATION
PDF
Omron cp1 h
Artspecifier 12.26.2012
The Virtual Clouds
Visual Digital Media Technology
Landscape Presentation
File321
File321
Jerome 431 manual
GPU-based Accelerated Spectral Caustic Rendering of Homogeneous Caustic Objects
Photography Promotion
General presentation 1
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
Quick start krohne academy online
General Presentation 1
FLOWER PRESENTATION
Omron cp1 h
Ad

Similar to Caustic Object Construction Based on Multiple Caustic Patterns (20)

PPTX
Computer Vision panoramas
PPTX
Introduction to Binocular Stereo in Computer Vision
PDF
Deep Implicit Layers: Learning Structured Problems with Neural Networks
PPT
Paris Master Class 2011 - 07 Dynamic Global Illumination
PPTX
K-Means Clustering Presentation Slides for Machine Learning Course
PDF
Fisheye Omnidirectional View in Autonomous Driving
PPTX
project_PPT_final
PDF
A Unified Framework for Computer Vision Tasks: (Conditional) Generative Model...
PPT
5.2. lithography 3,4,5 final,2013
PDF
From Experimentation to Production: The Future of WebGL
PDF
194Martin LeungUnerd Poster
PDF
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
PDF
TOOD: Task-aligned One-stage Object Detection
PDF
Temporal Segment Network
PPT
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
PDF
PR-132: SSD: Single Shot MultiBox Detector
PDF
Histogram Equalized Heat Maps from Log Data via Apache Spark with Arvind Rao
PDF
Temporal Superpixels Based on Proximity-Weighted Patch Matching
PDF
Design and optimization of compact freeform lens array for laser beam splitti...
PPTX
250526_HW_LabSeminar[Unifying Generation and Prediction on Graphs with Latent...
Computer Vision panoramas
Introduction to Binocular Stereo in Computer Vision
Deep Implicit Layers: Learning Structured Problems with Neural Networks
Paris Master Class 2011 - 07 Dynamic Global Illumination
K-Means Clustering Presentation Slides for Machine Learning Course
Fisheye Omnidirectional View in Autonomous Driving
project_PPT_final
A Unified Framework for Computer Vision Tasks: (Conditional) Generative Model...
5.2. lithography 3,4,5 final,2013
From Experimentation to Production: The Future of WebGL
194Martin LeungUnerd Poster
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
TOOD: Task-aligned One-stage Object Detection
Temporal Segment Network
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
PR-132: SSD: Single Shot MultiBox Detector
Histogram Equalized Heat Maps from Log Data via Apache Spark with Arvind Rao
Temporal Superpixels Based on Proximity-Weighted Patch Matching
Design and optimization of compact freeform lens array for laser beam splitti...
250526_HW_LabSeminar[Unifying Generation and Prediction on Graphs with Latent...

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PDF
Modernizing your data center with Dell and AMD
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
A Presentation on Artificial Intelligence
Electronic commerce courselecture one. Pdf
Modernizing your data center with Dell and AMD
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Network Security Unit 5.pdf for BCA BBA.
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
CIFDAQ's Market Insight: SEC Turns Pro Crypto
NewMind AI Monthly Chronicles - July 2025
Diabetes mellitus diagnosis method based random forest with bat algorithm
20250228 LYD VKU AI Blended-Learning.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Big Data Technologies - Introduction.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Approach and Philosophy of On baking technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
A Presentation on Artificial Intelligence

Caustic Object Construction Based on Multiple Caustic Patterns

  • 1. Caustic Object Construction Based on Multiple Caustic Patterns Budianto Tandianus, Henry Johan, Hock Soon Seah School of Computer Engineering gameLAB Nanyang Technological University
  • 2. CONTENT • Introduction • Related Work • Basic Idea • Improving the Reconstructed Caustics • Geometry Construction • Results • Applications • Conclusions and Future Work
  • 3. INTRODUCTION • What is caustics ? Caustics Glasses/reflector (Caustic Object) Light source From bottom plate
  • 4. CAUSTICS IN COMPUTER GRAPHICS • Typically simulated in CG by using Photon Mapping (Jensen 1996, Graphics Interface) Jensen 1996 Kruger et al. 2006 Wyman 2008 Graphics Interface Eurographics Symp. on Rendering i3D Spencer and Jones 2009 Hu et al. 2010 Tandianus et al. 2010 Computer Graphics Forum i3D ICEC
  • 5. CAUSTICS IN COMPUTER GRAPHICS • The previous slide shows forward problem of caustics in computer graphics : – Input : caustic object, light source, and diffuse surface – Output : caustic pattern • But how about inverse caustics problem ? – Input : caustic pattern, light source, and diffuse surface – Output : caustic object
  • 6. RELATED WORK • Reflective caustics in an optical set – Patow et al. 2004, International Journal of Shape Modelling – Patow et al. 2007, Computer & Graphics – Mas et al. 2009, Computer Graphics Forum • Reflector is represented as grid of vertices or cells • Is validated using computer simulation Optical set Target and reconstructed caustics
  • 7. RELATED WORK • Generate smooth B-Spline surface (Finckh et al 2010, European Conference on Computer Vision) • Optimize the control points until they can reconstruct the caustic patterns • Another similar work by Anson et. Al. 2008, CEIG 2008 – Surface is represented as a NURBS and caustic pattern shape is assumed to be circular • Is validated using computer simulation
  • 8. RELATED WORK • Generate a small patch that can have certain BRDF or caustic pattern (Weyrich et al. 2009, Transactions on Graphics) • The patch is subdivided into a regular grid of cells Target and reconstructed Real-life validation caustic patterns
  • 9. RELATED WORK • Refractive caustics on a larger scale (Papas et al. 2011, Computer Graphics Forum) • Improvement of their previous work (Weyrich et al. 2009, Transactions on Graphics)
  • 10. RELATED WORK • The most recent work, focusing on modularity (Yue et al. 2012, Computer Graphics Forum) • Compute optimal combination of caustic object cells with predefined refraction directions Assembling caustic object Generated caustic pattern from by using assembled caustic pieces of predefined caustic object object cells
  • 11. RELATED WORK • All these work can generate caustic objects producing interesting caustic patterns • However, they only consider a single caustic pattern – How about if multiple caustic patterns ?
  • 12. OUR WORK • Multiple caustic patterns with each caustic pattern is formed at a location • Is validated using mental ray
  • 13. BASIC IDEA • Input : multiple caustic patterns, directional light source, and planar diffuse surface (caustic receiver) • Output : caustic object Our scene configuration
  • 14. PROBLEM FORMULATION • Many caustic object cell orientation possibilities that might satisfy the input caustic patterns Two caustic patterns input, Possible combination compute refraction directions
  • 15. OUR SOLUTION • Represent each caustic pattern as a 2D probabilistic mass function (pmf) • For each caustic object cell, to determine its refracted orientation, compute the joint pmf and select the refraction direction based on the joint pmf : Probability of the -th A mapping function computing caustic object cell to which select direction as -th caustic pattern cell is hit by a the refraction direction light refracted from the -th caustic object cell to the Number of caustic pmf of the -th direction patterns in the scene caustic pattern
  • 16. OUR SOLUTION • Joint pmf : Probability of the -th caustic object cell to select direction as the refraction direction • Example : A mapping function computing which -th caustic pattern cell is hit by a light refracted from the -th caustic object ce to the direction Number of caustic patterns in the scene Pmf of the -th caustic pattern
  • 17. PROBLEM Only a single caustic pattern With multiple caustic patterns
  • 18. PROBLEM • However, some sets of caustic patterns cannot be reconstructed well – Due to differences of the input caustic patterns – Cause some joint pmf to be zero (e.g. topmost caustic cell in the first caustic pattern of below figure)
  • 19. IMPROVING THE RECONSTRUCTED CAUSTICS • Solutions : – Adjust positions and sizes of the caustic regions – Adjust shapes of the caustic regions • Use Simulated Annealing • Optimize the cost (based on L-2 distance)
  • 20. ADJUSTING POSITIONS AND SIZES • Iteratively translate the caustic regions in 3D space – In x (blue arrows in the left figure below) direction – In y (red arrows in the left figure below) direction – In z (pink arrows in the left figure below) direction, i.e. distance between the caustic pattern and the caustic object • Scale the caustic regions (green arrows in the right figure below) Translating the caustic regions Scaling the caustic regions
  • 21. ADJUSTING SHAPES OF THE CAUSTIC REGIONS • Extend each caustic region such that missing caustic cells of other caustic patterns can be reconstructed The green caustic cell cannot To solve this, the be reconstructed since all possible second caustic region light paths passing through it hits empty is extended part in the second caustic pattern
  • 22. ADJUSTING SHAPES OF THE CAUSTIC REGIONS • At the same time, we also allow some light to miss some of the caustic patterns • In the example figure below, Light #4 hits the first caustic pattern and misses the rest of caustic patterns
  • 23. OPTIMIZATION RESULTS Without optimization Cost : 4.45 x 10-1
  • 24. OPTIMIZATION RESULTS First optimization Cost : 4.08 x 10-1
  • 25. OPTIMIZATION RESULTS Second optimization Cost : 2.64 x 10-1
  • 26. GEOMETRY CONSTRUCTION • Assume the z coordinate of each caustic object cell center is the same • For each caustic object cell, from its refracted light direction, we can compute its normal, and in turn compute the coordinates of its four corners • Close the vertical gaps between caustic object cells
  • 27. RESULTS • Specifications of PCs used in our experiments : – Intel i7 920 2.67 GHz (CPU) with NVIDIA GeForce GTX 285 (GPU) – Intel i7 880 3.07 GHz (CPU) with NVIDIA GeForce GT 330 (GPU)
  • 28. RESULTS Fruits four caustic patterns computational time : 7.7 hours
  • 29. RESULTS Four bars four caustic patterns computational time : 15.7 hours
  • 30. RESULTS Rotating star nine caustic patterns computational time : 27.6 hours
  • 31. APPLICATIONS • Arts • Validation tests • Information encoding
  • 32. VIDEO Click to play
  • 33. CONCLUSIONS • Compute a caustic object that can generate a set of caustic patterns • Our two-step optimization processes can alleviate the missing caustic problems • Results are validated using mental ray
  • 34. FUTURE WORK • Manufacture the real caustic object for further validation – Need to devise an algorithm to smoothen the caustic object cells such that it is easy to manufacture • Dynamic light – Static caustic object and caustic receiver – Different caustic pattern for every light position or direction
  • 37. ADJUSTING SHAPES OF THE CAUSTIC REGIONS • Extend each caustic region such that caustic cells of other caustic regions can be reconstructed • However, adjusting too much will cause the caustic region to change too much • Determine the maximum adjustment, by projecting the missing caustic cells and then iteratively compute good adjustment amount
  • 38. ADJUSTING SHAPES OF THE CAUSTIC REGIONS • At the same time, also allow some light to miss some of the caustic patterns • In the projection computation (previous slide) also count how many of projections that miss other caustic patterns • Allow too much light to miss other caustic patterns will cause those caustic patterns to be too dark • Also iteratively compute good amount of light to miss the caustic patterns

Editor's Notes

  • #2: Good afternoon everyone and thank you for attending the presentation. My name is Budianto Tandianus and I’m going to present our work with the title “Caustic Object Construction based on Multiple Caustic Patterns”
  • #3: This is the brief outline of my presentation. I will start with some introduction of our work and related work. Afterward, I will explain our work consisting of the our basic idea and also our proposed technique to improve the caustics, and finally how to compute the geometry. Afterward, I will show some results and possible applications. I will end this presentation with the conclusion and future work.
  • #4: Before I start, let me give a brief introduction about caustics effects. What is caustics ? In a scene in a real life such as this photo, when we have a light source illuminating a glasses object, we see a bright patterns. And the patterns are called caustic patterns. As shown in this photo, the green light source from the bottom illuminates a bunch of glasses object, and we see the caustic patterns on the white wall.
  • #5: Definitely, there are already some works in computer graphics than simulate the caustics effects. In most of the works, they use a photon mapping and its related techniques to generate caustic patterns.
  • #6: In the examples I show in the previous slides, we compute the caustic pattern given the caustic object, light source and diffuse surface. We call this forward problem. But, how about inverse problem ? That is we have the caustic pattern, light source, and diffuse surface, and we need to compute the geometry of a caustic object such that it can produce the caustic patterns similar to the input caustic pattern ?
  • #7: There are few related work in inverse caustic problem. For example, in this work they compute a reflector in a lighting set such that it can generate caustic pattern similar to the input caustic pattern.
  • #8: In this work, they parameterize the caustic object surface as an implicit surface such as B-Spline and NURBS
  • #9: This is one of the recent one, and they also compute a reflector, albeit in a much smaller scale.
  • #10: And this is one of the most recent work. They generate a larger size caustic object that can produce an input caustic pattern.
  • #11: And this is one of the most recent work. Basically they already have some caustic object cells, and their algorithm just compute the optimal combination of those cells in order to reconstruct the input caustic pattern.
  • #12: All of these work are nice and cool, can compute a caustic object that can generate the input caustic pattern. However, they assume only a single caustic pattern, that is computing a caustic object that can generate only a single predefined caustic pattern. So, how about if multiple caustic patterns ?
  • #13: In our work, we consider multiple caustic patterns. We compute a caustic object that can produce more than one input caustic patterns. In our example work here, there are three caustic patterns : WSCG, 2012, Europe. The light illuminates from the left, and both the light and the caustic object are static. The black plane is the receiver surface. So, we obtain different caustic pattern when the plane is in three different locations as shown here. Our work is validated using mental ray.
  • #14: In this slide I show the scene configuration. As we see here, the directional light source illuminates from the left with the direction perpendicular to the caustic object. In example, there are two caustic patterns with the shapes of the caustic regions are 1 and 2, with each will be formed when the planar diffuse surface is at d0 and d1 respectively from the caustic object. In this, we subdivide both the back face of the caustic object and the input caustic patterns into a regular grid of cells. Here, we compute the orientation of each cell in the caustic object, such that it can refract the light to a certain cell in the caustic receiver. In combination, all of the refracted light are expected to reconstruct the original input caustic patterns.
  • #15: The problem here is that, there are many possible light refraction directions (or cell orientations that) might satisfy the input caustic patterns. Here, we need to figure out a way to know which combination. In the example here, there are two caustic patterns, with the grey blocks are non-zero intensity caustic cells and the numbers denote the intensity of the caustic pattern. In the right figure, is one possible combination.
  • #16: To solve this problem, we represent each caustic pattern as a 2D pmf. PMF is basically discrete version of pdf or probabilistic distributed function. That means here, for each caustic object cell, we determine it will refract the light to which direction based on the probability of each caustic cell. That means, brighter caustic cells which receive more light, will be more likely to be chosen as a refraction target compared to the darker caustic cells. How about if there are multiple caustic patterns ? As in probability theory, we use the joint pmf of all caustic patterns to select the refracted direction. As we show in the equation here, the probability of refraction direction x from the i-th caustic object cell, is the multiplication of probability of each caustic pattern cell j passed through by the refracted light. g^i_j here is a mapping function, basically it computes which caustic object cell in caustic pattern f_p_j passes through by the refracted light refracted by caustic object cell I in direction x
  • #17: This is the example of how we compute. For example, for the topmost ray #1, it passes through some cells in the caustic patterns. So, the probability it will refract to this direction is the multiplication of the probability in this cell, this cell, and this cell, and the result is 0. That means, it will not refract the light to this direction. Other examples are the rays denoted with number 3. For example, The probability of a caustic object cell I will refract the light to this direction, is the multiplication of the probability in this, this and this.
  • #18: Our solution works very well for single caustic pattern. However, if we have multiple caustic patterns, then some parts of the caustic patterns cannot be reconstructed. For example, in the top image, the 2012 is pretty well reconstructed. However, as we see in the below image, when we add two caustic patterns, some parts of the caustic patterns cannot be reconstructed below.
  • #19: However, some of the caustic patterns set cannot be fully reconstructed very well. This is due to the differences of the caustic patterns, for example in term of shape, orientation, and locations. For example here, the topmost cell in the first caustic pattern cannot be reconstructed, as every possible refracted light passing through this cell will hit empty caustic cell.
  • #20: To solve this problem, we have two solutions. We iteratively adjust the positions and sizes of the caustic regions. We also iteratively adjust the shapes of the caustic regions. As this is an optimization mechanism, here we use simulated annealing in order to obtain good adjustment parameters. As for the cost function, we use the cost function based on L-2 distance.
  • #21: In the first optimization, we iteratively translate the caustics regions in 3D space. That means that they can move in x, y, an z direction. We also iteratively scale the caustic regions.
  • #22: After the optimization of the first part, actually some parts of caustic patterns still cannot be reconstructed. Hence, we propose the second step. As illustrated in the left image, the green caustic cell cannot be reconstructed since all possible light paths passing through it will hit empty part in the second caustic pattern. Hence, we extend the caustic region of the second caustic cell so that it can be reconstructed.
  • #23: At the same time, we actually also some light to miss some of the caustic patterns. For example, the light that hit the first caustic pattern, may miss the rest of caustic patterns. Of course, if we allow too much of the light to miss, then the resulting caustic patterns will be too dark. So, in this case, in the projection computation in the previous slide, we also compute amount of light projection that miss the caustic patterns. Afterward, we iteratively good adjust amount of light that is ok to miss some of the caustic patterns.
  • #24: Here are the step-by-step optimization results. With the error map below each screenshot show the error. The left error map show the grayscale error. The right error map shows which cell can’t be reconstructed (green) and which additional cell from adjusting the shape (in blue color). Note you can see the blue cell in the first armadillo error map, it is due to some numerical error.
  • #25: This is the first optimization step
  • #26: As we see here, after the third optimization step, the bottom of bunny appears better. Also, the details in bunny and armadillo appear much better.
  • #27: After we obtain the orientation of each caustic object cell, now we need to compute its geometry. Here, we assume the z coordinate of each caustic object cell center to be the same. For each caustic object cell, from its refraction direction, we can compute its normal by solving snell’s equation in 2D. Please refer to the paper for more detail. From the normal of the caustic object cell, we can compute the coordinates of its four courner. Note that we also close the vertical gaps between caustic object cells as we show in this image.
  • #28: We perform the experiments using two comparable PCs with the following specification:
  • #29: This is the first result, and they can be reconstructed very well since their shapes are very similar
  • #30: The bar is the hardest to compute as the shape is very different between caustic patterns.
  • #31: And lastly this one is nine caustic patterns, here we only show four caustic patterns. They can be reconstructed very well since their shape is very similar and the orientation of the star changes slightly between caustic patterns.
  • #32: Our work has several applications. For example, in the arts artists can generate various interesting caustics effect. Our work may also has potential application in validation tests. For example, by comparing the generated caustic patterns with the intended caustic patterns, we can analyze how good is the light source or the glasses object. Lastly, our work can also be used in information encoding. For example, to encode an information in an image. Here we show the QR example. If we use barcode scanner, we can obtain the string ‘wscg’ for the first caustic pattern and ‘2012’ for the second caustic pattern.
  • #33: Here we animation clips of our results.
  • #34: In conclusion, we propose a technique that can compute a caustic object that can generate well a set of input caustic patterns. To enhance our results, we also propose to optimization steps. Our results are validated well using mental ray, a robust industry standard physically based rendering.
  • #35: For the future work, we’re planning to manufacture the real caustic object for further validation. Note that the current solution generates caustic object which are very bumpy or rough. So, we will devise an additional algorithm that can produce smoother surface such that it’s easier to manufacture. We’re also considering dynamic light. In this case, both the caustic object and the caustic receiver are station. The different here is that, for each different light direction or position, we can produce different caustic patterns.
  • #37: These are some more caustics examples in real life
  • #38: After the first optimization, there might be some parts of caustic regions that cannot be reconstructed. Hence, in this second step, we extend each caustic regions such that the missing parts of other caustic regions can be reconstructed. However, blowing up or change too much the shape of the caustic region will make it too different. Hence, we need to compute good amount of adjustment. In here, we firstly compute the maximum amount of adjustment by projecting the missing caustic cells. Afterward, we iteratively compute the good adjustment amount.
  • #39: At the same time, we actually also some light to miss some of the caustic patterns. For example, the light that hit the first caustic pattern, may miss the rest of caustic patterns. Of course, if we allow too much of the light to miss, then the resulting caustic patterns will be too dark. So, in this case, in the projection computation in the previous slide, we also compute amount of light projection that miss the caustic patterns. Afterward, we iteratively good adjust amount of light that is ok to miss some of the caustic patterns.