Pioneer
SkyboxMaterial.h
Go to the documentation of this file.
1 // Copyright © 2008-2021 Pioneer Developers. See AUTHORS.txt for details
2 // Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3 
4 #ifndef _OGL_SKYBOX_MATERIAL_H_
5 #define _OGL_SKYBOX_MATERIAL_H_
6 
7 /*
8  * Renders a cube map as a skybox.
9  */
10 #include "OpenGLLibs.h"
11 #include "Program.h"
12 
13 namespace Graphics {
14  namespace OGL {
15  class SkyboxMaterial : public Material {
16  private:
17  public:
19  {
20  texture0 = nullptr;
21  fSkyboxFactor = 0.8f;
22  }
23 
24  virtual Program *CreateProgram(const MaterialDescriptor &) override
25  {
26  return new Program("skybox", "");
27  }
28 
29  virtual void Apply() override
30  {
31  m_program->Use();
32  if (texture0) {
34  }
35  const float em = (float(emissive.r) * 0.003921568627451f);
37  }
38 
39  // Skybox multiplier
41  };
42  } // namespace OGL
43 } // namespace Graphics
44 
45 #endif
Definition: Material.h:57
Color emissive
Definition: Material.h:97
Texture * texture0
Definition: Material.h:86
Definition: MaterialGL.h:26
Program * m_program
Definition: MaterialGL.h:40
Definition: Program.h:23
Uniform texture0
Definition: Program.h:45
Uniform shininess
Definition: Program.h:44
virtual void Use()
Definition: Program.cpp:227
Definition: SkyboxMaterial.h:15
SkyboxMaterial()
Definition: SkyboxMaterial.h:18
virtual void Apply() override
Definition: SkyboxMaterial.h:29
float fSkyboxFactor
Definition: SkyboxMaterial.h:40
virtual Program * CreateProgram(const MaterialDescriptor &) override
Definition: SkyboxMaterial.h:24
void Set(int)
Definition: Uniform.cpp:20
Definition: Background.h:13
Uint8 r
Definition: Color.h:68