95{
96 appState = as;
97 static std::vector<std::string> faces =
98 {
99 appState->constants.skyboxDir + PATH_SEPARATOR "px.jpg",
100 appState->constants.skyboxDir + PATH_SEPARATOR "nx.jpg",
101 appState->constants.skyboxDir + PATH_SEPARATOR "py.jpg",
102 appState->constants.skyboxDir + PATH_SEPARATOR "ny.jpg",
103 appState->constants.skyboxDir + PATH_SEPARATOR "pz.jpg",
104 appState->constants.skyboxDir + PATH_SEPARATOR "nz.jpg"
105 };
107 cubemap->SetUpOnGPU();
108 cubemap->LoadFaces(faces);
109 cubemap->UploadDataToGPU();
110 skyboxShader =
new Shader(vertShader, fragShader);
111 skyproShader =
new Shader(vertShader, fragProShader);
112 glGenVertexArrays(1, &vao);
113 glBindVertexArray(vao);
114 unsigned int VBO;
115 glGenBuffers(1, &VBO);
116 glBindBuffer(GL_ARRAY_BUFFER, VBO);
117 glBufferData(GL_ARRAY_BUFFER, sizeof(skyboxVertices), skyboxVertices, GL_STATIC_DRAW);
118 glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void *)0);
119 glEnableVertexAttribArray(0);
120 skySphere = LoadModel(GetExecutableDir() + PATH_SEPARATOR "Data" PATH_SEPARATOR "models" PATH_SEPARATOR "icosphere.obj");
121 skySphere->SetupMeshOnGPU();
122 skySphere->UploadToGPU();
123}