interactive rendering using the render cache
Download
Skip this Video
Download Presentation
Interactive Rendering using the Render Cache

Loading in 2 Seconds...

play fullscreen
1 / 28

Interactive Rendering using the Render Cache - PowerPoint PPT Presentation


  • 296 Views
  • Uploaded on

Interactive Rendering using the Render Cache Bruce Walter, George Drettakis iMAGIS*-GRAVIR/IMAG-INRIA Steven Parker University of Utah *iMAGIS is a joint project of CNRS/INRIA/INPG and UJF Motivation Goal: Interactive rendering Ray tracing Path tracing Motivation High-quality renderers

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Interactive Rendering using the Render Cache' - adamdaniel


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
interactive rendering using the render cache

Interactive Rendering using the Render Cache

Bruce Walter, George Drettakis

iMAGIS*-GRAVIR/IMAG-INRIA

Steven Parker

University of Utah

*iMAGIS is a joint project of CNRS/INRIA/INPG and UJF

motivation
Motivation
  • Goal: Interactive rendering

Ray tracing

Path tracing

motivation3
Motivation
  • High-quality renderers
    • Pixel based
      • Ray tracing, path tracing, etc.
    • Wide range of lighting effects
      • Reflection, refraction, global illumination, etc.
    • Too slow for interactive use
      • Many seconds per image
      • Often used only for final images
      • Alternate renderers used for interactive editing
motivation4
Motivation
  • Interactive rendering
    • Rapid feedback is paramount
      • High accuracy is less important
    • Fast consistent framerate
      • Eg, > 5 fps
      • Could use faster renderer
        • Eg, hardware accelerated scan conversion
    • Use same renderer
      • Need to bridge framerate gap
visual feedback loop
image

renderer

user

application

Visual Feedback Loop
  • Standard visual feedback loop
    • Entirely synchronous
    • Framerate is limited by the renderer
visual feedback loop6
image

renderer

display

user

application

Visual Feedback Loop
  • Modified visual feedback loop

Asynchronous

interface

goals
Goals
  • Independent display process
    • Works with many (pixel-based) renders
  • Exploit frame to frame coherence
    • Reproject pixels from previous frames
  • Fast consistent framerate
    • Use simple, fast methods
  • Concentrate rendering effort
    • Prioritize pixel’s need for recomputation
previous work
Previous Work
  • Approximate or progressive approaches
    • Progressive radiosity or ray tracing
    • Frameless rendering
  • Reprojection or warping
    • Image based rendering (IBR)
    • Ray tracing acceleration
previous work10
Previous Work
  • Parallel processing
    • Multiprocessors or distributed clusters
  • Intelligent display processes
    • Post-rendering warp
    • Holodeck system
algorithm overview
Algorithm Overview

Displayprocess

renderer

project

Render

cache

depthcull

image

interpolate

renderer

sampling

image estimation
Image Estimation
  • Projection
    • Project cached points onto current image
      • Camera transform provided by application
    • Z-buffer
      • In case multiple points map to a pixel
image estimation13
Image Estimation
  • Problem: visual artifacts

Original view

New view

image estimation14
Image Estimation
  • Depth cull heuristic
    • Problem: occluded points may be visible
      • Z-buffering only works within a pixel
    • Find pixels with locally inconsistent depths
      • Likely to be from different occluding surfaces

Raw projection

After depth cull

image estimation15
Image Estimation
  • Interpolation / smoothing
    • Problem: small gaps in point data
    • Interpolate pixel colors
      • Compute locally-weighted average colors
      • Currently uses 3x3 neighborhoods

Raw projection

After depth cull

After interpolation

image estimation16
Image Estimation
  • Results after each stage

Projection

Depth cull

Interpolation

image estimation17
Image Estimation
  • Problem: visual artifacts
    • Simple filter can remove many artifacts
  • Need new points from renderer
    • Previously invisible areas
    • Color changes due to non-diffuse shading
      • Eg,specular highlights
    • Changes due to user editing
      • Changes in lighting, geometry, materials
sampling
Sampling
  • Generate priority image
    • Based on pixel’s need for re-rendering
    • Priority given to pixels with older points
      • Render cache stores an age with each point
    • Empty pixels priority based on local density
      • Highest priority given to regions without points
sampling19
Sampling
  • Choose pixels for rendering
    • Sampling must be sparse
      • Relatively few pixels are rendered per frame
    • Chosen using error-diffusion dither
      • Concentrates pixels in high priority regions
      • Maintains good spatial distribution
    • Requested pixels sent to renderer(s)
      • Results returned at some later frame
sampling20
Sampling

Displayed image

Priority image

Requested pixels

optimizations
Optimizations
  • Further prioritizing sampling
    • Identify points that are likely to be outdated
      • Color change heuristic
      • Renderer supplied hints
    • Prematurely age these points
      • Forces sooner resampling of these points
optimizations22
Optimizations
  • Moving objects
    • Application can supply object transforms
    • Applied to points in the render cache
      • Improves tracking of moving objects
      • Points also aged to encourage resampling
results
Results
  • Timing: 70.5 ms or 14 fps
    • 256x256 image, display process only
    • 195 Mhz R10K processor
conclusions
Conclusions
  • Greatly improved interactivity
    • Eg, ray tracing, path tracing
  • Efficient reuse of rendered pixels
    • Using reprojection and simple filters
  • Prioritized sparse sampling
    • Efficently uses limited rendering budget
  • Independent automatic display process
    • Can be used with many different renderers
future work
Future Work
  • Larger images
    • Cost scales linearly with # of pixels
  • Higher render ratios
    • Currently work well out to about 1:64
  • Anti-aliasing
overview
Overview
  • Cache rendered results
    • Stored as colored points in 3D
  • Estimate current image
    • Project points onto current image plane
    • Filter to reduce artifacts
  • Prioritize future rendering
    • Identify problem pixels
    • Sparse sampling for limited render budget
ad