background caches for large outdoor scenes bill hess
Post on 21-Dec-2015
221 views
TRANSCRIPT
![Page 1: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/1.jpg)
Background Caches for Background Caches for Large Outdoor ScenesLarge Outdoor Scenes
Bill HessBill Hess
![Page 2: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/2.jpg)
Motivation:Motivation:
![Page 3: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/3.jpg)
Motivation:Motivation:
![Page 4: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/4.jpg)
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
![Page 5: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/5.jpg)
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
![Page 6: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/6.jpg)
Problem: Depth BufferProblem: Depth Buffer
![Page 7: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/7.jpg)
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
![Page 8: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/8.jpg)
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
![Page 9: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/9.jpg)
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
![Page 10: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/10.jpg)
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.
![Page 11: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/11.jpg)
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
![Page 12: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/12.jpg)
![Page 13: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/13.jpg)
![Page 14: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/14.jpg)
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
![Page 15: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/15.jpg)
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)
![Page 16: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/16.jpg)
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
![Page 17: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/17.jpg)
Work So FarWork So FarRecreate the problemRecreate the problem
![Page 18: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/18.jpg)
Work So FarWork So Far
![Page 19: Background Caches for Large Outdoor Scenes Bill Hess](https://reader038.vdocument.in/reader038/viewer/2022102907/56649d565503460f94a34efe/html5/thumbnails/19.jpg)
Work So FarWork So Far