Background Caches for Background Caches for Large Outdoor ScenesLarge Outdoor Scenes
Bill HessBill Hess
Motivation:Motivation:
Motivation:Motivation:
View FrustumView Frustum
Volume enclosed by 6 planesVolume enclosed by 6 planes Objects outside the frustum are not drawnObjects outside the frustum are not drawn Back plane decides how deep the scene isBack plane decides how deep the scene is
Problem: Depth BufferProblem: Depth Buffer
Geometry depth is stored at every pixelGeometry depth is stored at every pixelAllows objects to be drawn in any orderAllows objects to be drawn in any orderAllows objects to intersect each otherAllows objects to intersect each other
Depth buffer precision is fixed in hardwareDepth buffer precision is fixed in hardwareMultiple scene depths can map to one depth Multiple scene depths can map to one depth
buffer valuebuffer valueAs the back plane is pushed back, the As the back plane is pushed back, the
range of values that can map to the same range of values that can map to the same depth value increasesdepth value increases
Problem: Depth BufferProblem: Depth Buffer
Problem: ProjectionProblem: Projection View Frustum volume increases with the cube of View Frustum volume increases with the cube of
the scene depththe scene depth Potentially 8 times more geometry to draw just to Potentially 8 times more geometry to draw just to
double scene depthdouble scene depth
hBV 3
1
SolutionSolution
Draw backgrounds less frequentlyDraw backgrounds less frequentlyDraw background as a flat imageDraw background as a flat imageCommon methodsCommon methods
Render/Draw backgrounds ahead of timeRender/Draw backgrounds ahead of timeRender backgrounds into a texture at run-timeRender backgrounds into a texture at run-time
SkyboxSkybox Scene surrounded by a textured cubeScene surrounded by a textured cube Cube is textured with a backdrop representing the Cube is textured with a backdrop representing the
backgroundbackground Cube does not move with the sceneCube does not move with the scene
Appears “infinitely” far awayAppears “infinitely” far away
Skybox limitationsSkybox limitations
Players can never reach the backgroundPlayers can never reach the backgroundGap between foreground and backgroundGap between foreground and backgroundNo parallax effectNo parallax effectReally only good for… sky.Really only good for… sky.
3D Skybox3D Skybox
Used in Valve’s Source engineUsed in Valve’s Source engineBackground geometry is drawn to 1:16 Background geometry is drawn to 1:16
scale in a hidden part of the mapscale in a hidden part of the mapCamera is placed into the “skybox” to Camera is placed into the “skybox” to
render the backgroundrender the backgroundUse the depth buffer twiceUse the depth buffer twiceBackground is only a mockup, not Background is only a mockup, not
explorableexplorable
Related ResearchRelated Research
Pre-Computed backgroundsPre-Computed backgroundsScene is broken into view-cellsScene is broken into view-cellsBackgrounds are stored on diskBackgrounds are stored on disk
City walkthroughCity walkthroughBuildings are rendered to flat ImpostorsBuildings are rendered to flat ImpostorsCamera is constrained to street tracksCamera is constrained to street tracks
Layered Depth Images Layered Depth Images
Render scene but record multiple colors and Render scene but record multiple colors and depths at each pixeldepths at each pixel
Use inverse camera transformation to reposition Use inverse camera transformation to reposition each pixel for a new camera angleeach pixel for a new camera angle
Parallax effectParallax effect Hidden surfaces are revealedHidden surfaces are revealed Storage required equal to depth complexity of Storage required equal to depth complexity of
the image (max number of overlapping objects)the image (max number of overlapping objects)
GoalGoal
Dynamically generate background imagesDynamically generate background images Show parallax for view changesShow parallax for view changes Transition between background and foregroundTransition between background and foreground Work in real-timeWork in real-time
Combination of Skybox and Layered Depth Combination of Skybox and Layered Depth ImageImage
Work So FarWork So FarRecreate the problemRecreate the problem
Work So FarWork So Far
Work So FarWork So Far
Top Related