![Page 1: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/1.jpg)
1
SKYBOXES AND SKYDOMES:
THE INTRODUCTION
![Page 2: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/2.jpg)
OUTLINE
2
• Skyboxes
• Skydomes
• Implementing a Skybox
• Environment Mapping
![Page 3: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/3.jpg)
SKYBOXES – THE STRATEGY
• Instantiate a cube object
• Texture the cube with the desired scene
• Position the camera inside the cube
![Page 4: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/4.jpg)
CUBE MAP
• Texture cube map
• Used to texture all six faces of the cube
![Page 5: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/5.jpg)
CUBE TEXTURED WITH MAP
• Doesn’t look great from the outside
• But the camera is placed on the inside
![Page 6: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/6.jpg)
TEXTURE COORDINATES
• Can use appropriate coordinates from below to texture each of the faces
![Page 7: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/7.jpg)
MAKING THE SKYBOX APPEAR DISTANT
• Making the cube very large ends up distorting texture
• Instead:
• Disable depth testing
• Render the skybox
• Enable depth testing
• Render other objects in the scene
• Move the skybox with the camera
• This assumes you are using a scene that is contained within the 2x2x2 default cube
![Page 8: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/8.jpg)
CREATING THE TEXTURE CUBE MAP
• Use software tools
• Terragen
• Autodesk 3ds Max
• Blender
• Adobe Photoshop
• Or download / purchase online
![Page 9: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/9.jpg)
EXAMPLE
![Page 10: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/10.jpg)
SKYDOME
• Advantage
• Less susceptible to distortion and seams
• May have spherical distortion at the poles, though
• Disadvantage
• Sphere is more complex than cube
• More computationally expensive
![Page 11: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/11.jpg)
SKYDOME AS A SPHERE
• If ground terrain, makes sense to use a half sphere
• For other scenes, a full sphere makes more sense
![Page 12: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/12.jpg)
IMPLEMENTING A SKYBOX
• Skyboxes used more than skydomes
• More support in OpenGL
• Which works out well for environment mapping
• Can build one from scratch
• OR
• Can use OpenGL cube maps
![Page 13: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/13.jpg)
BUILDING A SKYBOX FROM SCRATCH
• In display()
// build the MODEL matrix
m_matrix.setToIdentity();
m_matrix.translate(cameraLoc.getX(),cameraLoc.getY(), cameraLoc.getZ());
…
gl.glEnable(GL_CULL_FACE);
gl.glFrontFace(GL_CCW);// cube is CW, but we are viewing the inside
gl.glDisable(GL_DEPTH_TEST);
gl.glDrawArrays(GL_TRIANGLES, 0, 36);
gl.glEnable(GL_DEPTH_TEST);
![Page 14: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/14.jpg)
BUILDING A SKYBOX FROM SCRATCH
• In setupVertices()
float[] cube_texture_coord =
{.25f, .666666666f, .25f, .3333333333f, .5f, .3333333333f, // front face lower left
.5f, .333333333333f, .5f, .66666666666f, .25f, .66666666666f,// front face upper right
.5f, .3333333333f, .75f, .33333333333f, .5f, .6666666666f, // right face lower left
.75f, .33333333333f, .75f, .66666666666f, .5f, .6666666666f,// right face upper right
.75f, .3333333333f, 1.0f, .3333333333f, .75f, .66666666666f, // back face lower
1.0f, .3333333333f, 1.0f, .6666666666f, .75f, .6666666666f, // back face upper
0.0f, .333333333f, .25f, .333333333f, 0.0f, .666666666f, // left face lower
.25f, .333333333f, .25f, .666666666f, 0.0f, .666666666f, // left face upper
.25f, 0.0f, .5f, 0.0f, .5f, .333333333f, // bottom face front
.5f, .333333333f, .25f, .333333333f, .25f, 0.0f, // bottom face back
.25f, .666666666f, .5f, .666666666f, .5f, 1.0f, // top face back
.5f, 1.0f, .25f, 1.0f, .25f, .666666666f }; // top face front
![Page 15: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/15.jpg)
SKYBOX RESULTS
![Page 16: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/16.jpg)
SKYBOX SEAM ARTIFACT
• Visible seams are a potential artifact
• To avoid this, need to be careful with:
• Construction of the cube map image
• Precise texture coordinates
![Page 17: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/17.jpg)
OPENGL CUBE MAPS
• Advantages:
• Seam reduction
• Support for environment mapping
• Disadvantage:
• More complex
![Page 18: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/18.jpg)
OPENGL CUBE MAPS
• Similar to 3D textures (coming soon)
• Three coordinates, not two
• Texture coordinate (0, 0, 0) is at upper left of texture image
• Six images are read in, one for each face
• Instead of one image with all faces represented
• Can reduce artifacts by setting texture to GL_CLAMP_TO_EDGE
• Needs to be done for all three coordinates (s, t and r)
• Enable GL_TEXTURE_CUBE_MAP_SEAMLESS
• OpenGL will attempt to blend edges
![Page 19: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/19.jpg)
PREVIEW OF ENVIRONMENT MAPPING
![Page 20: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/20.jpg)
ENVIRONMENT MAPPING EXAMPLE
![Page 21: SKYBOXES AND SKYDOMES: THE INTRODUCTION• Autodesk 3ds Max • Blender • Adobe Photoshop • Or download / purchase online . EXAMPLE . SKYDOME • Advantage • Less susceptible](https://reader035.vdocuments.mx/reader035/viewer/2022070723/5f01efe97e708231d401c551/html5/thumbnails/21.jpg)
SUMMARY
21
• Skyboxes
• Skydomes
• Implementing a Skybox
• Environment Mapping