Course list http://www.c-jump.com/bcc/

Lab 10 -- Skyboxes


  1. What is a skybox?
  2. Getting ready
  3. Skybox requirements
  4. Things to do -- the Skybox class
  5. Things to do -- the main() function
  6. Things to do -- FPSCamera::set_skybox_uniform_view_perspective()
  7. How to submit

What is a skybox?



Getting ready



Skybox requirements


  • Vertex shader:

    
    #version 150
    
    in vec4 vPosition; // Original vertex pos
    uniform mat4 mP;   // perpsective matrix
    uniform mat4 mV;   // camera matrix (view)
    uniform mat4 mM;   // the model matrix
    
    out vec3 texCoords;
    
    void main (void) {
        texCoords = normalize( vPosition.xyz );
        gl_Position = mP * mV * mM * vPosition;
    }
    
    
  • Fragment shader:

    
    #version 150
    
    out vec4 vFragColor;
    uniform samplerCube cubeMap;
    in vec3 texCoords;
    
    void main (void) {
        vFragColor = texture( cubeMap, texCoords );
    }
    
    

Things to do -- the Skybox class



Things to do -- the main() function



Things to do -- FPSCamera::set_skybox_uniform_view_perspective()



How to submit