void GraphicsSubsystem::drawSkybox(const Cube &cube) { GLuint skyboxpr = shaders["skybox"]; glCullFace(GL_FRONT); glUseProgram(skyboxpr); glm::mat4 modelToWorld = cube.getModelToWorldMat(); glUniformMatrix4fv(programUniforms[skyboxpr]["modelToWorldMatrix"], 1, GL_FALSE, glm::value_ptr(modelToWorld)); glActiveTexture(GL_TEXTURE0 + texUnits["room"]); glBindTexture(GL_TEXTURE_CUBE_MAP, textures["room"]); cube.draw(); glBindTexture(GL_TEXTURE_CUBE_MAP, 0); glUseProgram(0); glCullFace(GL_BACK); }