Interactive rendering using the render cache
Download
1 / 28

Interactive Rendering using the Render Cache - PowerPoint PPT Presentation

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

Interactive Rendering using the Render Cache

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

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

    • 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


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


image

renderer

user

application

Visual Feedback Loop

  • Standard visual feedback loop

    • Entirely synchronous

    • Framerate is limited by the renderer


image

renderer

display

user

application

Visual Feedback Loop

  • Modified visual feedback loop

Asynchronous

interface


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


Video


Previous Work

  • Approximate or progressive approaches

    • Progressive radiosity or ray tracing

    • Frameless rendering

  • Reprojection or warping

    • Image based rendering (IBR)

    • Ray tracing acceleration


Previous Work

  • Parallel processing

    • Multiprocessors or distributed clusters

  • Intelligent display processes

    • Post-rendering warp

    • Holodeck system


Algorithm Overview

Displayprocess

renderer

project

Render

cache

depthcull

image

interpolate

renderer

sampling


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 Estimation

  • Problem: visual artifacts

Original view

New view


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 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 Estimation

  • Results after each stage

Projection

Depth cull

Interpolation


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

  • 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


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


Sampling

Displayed image

Priority image

Requested pixels


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


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


Video


Results

  • Timing: 70.5 ms or 14 fps

    • 256x256 image, display process only

    • 195 Mhz R10K processor


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

  • Larger images

    • Cost scales linearly with # of pixels

  • Higher render ratios

    • Currently work well out to about 1:64

  • Anti-aliasing


The End


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
  • Login