Interactive rendering using the render cache
Download
1 / 28

Powerpoint presentation - PowerPoint PPT Presentation


  • 292 Views
  • Updated 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 'Powerpoint presentation' - 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 l.jpg

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 l.jpg
Motivation

  • Goal: Interactive rendering

Ray tracing

Path tracing


Motivation3 l.jpg
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 l.jpg
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 l.jpg

image

renderer

user

application

Visual Feedback Loop

  • Standard visual feedback loop

    • Entirely synchronous

    • Framerate is limited by the renderer


Visual feedback loop6 l.jpg

image

renderer

display

user

application

Visual Feedback Loop

  • Modified visual feedback loop

Asynchronous

interface


Goals l.jpg
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 l.jpg
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 l.jpg
Previous Work

  • Parallel processing

    • Multiprocessors or distributed clusters

  • Intelligent display processes

    • Post-rendering warp

    • Holodeck system


Algorithm overview l.jpg
Algorithm Overview

Displayprocess

renderer

project

Render

cache

depthcull

image

interpolate

renderer

sampling


Image estimation l.jpg
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 l.jpg
Image Estimation

  • Problem: visual artifacts

Original view

New view


Image estimation14 l.jpg
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 l.jpg
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 l.jpg
Image Estimation

  • Results after each stage

Projection

Depth cull

Interpolation


Image estimation17 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
Sampling

Displayed image

Priority image

Requested pixels


Optimizations l.jpg
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 l.jpg
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 l.jpg
Results

  • Timing: 70.5 ms or 14 fps

    • 256x256 image, display process only

    • 195 Mhz R10K processor


Conclusions l.jpg
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 l.jpg
Future Work

  • Larger images

    • Cost scales linearly with # of pixels

  • Higher render ratios

    • Currently work well out to about 1:64

  • Anti-aliasing



Overview l.jpg
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