Bubba-3D  0.9.0
Awesome game engine!
SkyBoxRenderer.h
1 /*
2  * This file is part of Bubba-3D.
3  *
4  * Bubba-3D is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * Bubba-3D is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with Bubba-3D. If not, see http://www.gnu.org/licenses/.
16  */
17 #pragma once
18 
19 #include "IRenderComponent.h"
20 #include <string>
21 
22 class Camera;
23 class CubeMapTexture;
24 class Mesh;
25 class Chunk;
26 class GameObject;
27 
29 {
30 public:
31  SkyBoxRenderer(Camera* camera, Mesh* skyMesh, GameObject* gameObject);
32  ~SkyBoxRenderer();
33 
34  bool init(const std::string& posXFilename, const std::string& negXFilename,
35  const std::string& posYFilename, const std::string& negYFilename,
36  const std::string& posZFilename, const std::string& negZFilename);
37 
38  void renderShadow(ShaderProgram* shaderProgram) {};
39  void render();
40  void update(float dt);
41 private:
42  void renderChunk(Chunk& chunk);
43 
44  Camera* m_camera;
45  CubeMapTexture* m_pCubemap;
46  Mesh *m_skyMesh;
47  GameObject* gameObject;
48 };
Definition: Mesh.h:45
Definition: Chunk.h:27
Class for maintaining OpenGL shader programs.
Definition: ShaderProgram.h:39
A class for containing all information about a object in the game world.
Definition: GameObject.h:67
Definition: Camera.h:26