127{
128 glDisable(GL_DEPTH_TEST);
129 glDepthMask(GL_FALSE);
130 glBindVertexArray(vao);
131 Shader *shd = skyboxShader;
132
133 if(useProcedural)
134 {
135 shd = skyproShader;
136 }
137
138 shd->Bind();
139 cubemap->Bind(0);
140 view = glm::mat4(glm::mat3(view));
141 shd->SetUniformMat4("_P", proj);
142 shd->SetUniformMat4("_V", view);
143 shd->SetUniformf("time", time);
144 shd->SetUniformf("cirrus", cirrus);
145 shd->SetUniformf("upf", upf);
146 shd->SetUniformf("cumulus", cumulus);
147 shd->SetUniform3f("fsun", fsun);
148 glUniform1i(glGetUniformLocation(shd->m_Shader, "skybox"), 0);
149
150 if(useBox)
151 {
152 glDrawArrays(GL_TRIANGLES, 0, 36);
153 }
154
155 else
156 {
157 skySphere->Update();
158 skySphere->Render();
159 }
160
161 glDepthMask(GL_TRUE);
162 glEnable(GL_DEPTH_TEST);
163}