]> git.leopard-lacewing.eu Git - cgue_weave.git/commitdiff
added LightClasses
authorPeter Schaefer <schaeferpm@gmail.com>
Tue, 26 Apr 2016 12:09:13 +0000 (14:09 +0200)
committerPeter Schaefer <schaeferpm@gmail.com>
Tue, 26 Apr 2016 12:09:13 +0000 (14:09 +0200)
13 files changed:
Weave/Graphix/Lights.h [new file with mode: 0644]
Weave/Graphix/Lights/AmbientLight.cpp [new file with mode: 0644]
Weave/Graphix/Lights/AmbientLight.h [new file with mode: 0644]
Weave/Graphix/Lights/DirectionalLight.cpp [new file with mode: 0644]
Weave/Graphix/Lights/DirectionalLight.h [new file with mode: 0644]
Weave/Graphix/Lights/Light.cpp [new file with mode: 0644]
Weave/Graphix/Lights/Light.h [new file with mode: 0644]
Weave/Graphix/Lights/PointLight.cpp [new file with mode: 0644]
Weave/Graphix/Lights/PointLight.h [new file with mode: 0644]
Weave/Graphix/PointLight.cpp [deleted file]
Weave/Graphix/PointLight.h [deleted file]
Weave/Weave.vcxproj
Weave/Weave.vcxproj.filters

diff --git a/Weave/Graphix/Lights.h b/Weave/Graphix/Lights.h
new file mode 100644 (file)
index 0000000..e9e924d
--- /dev/null
@@ -0,0 +1,6 @@
+#pragma once
+
+#include "Lights\PointLight.h"
+#include "Lights\DirectionalLight.h"
+#include "Lights\AmbientLight.h"
+
diff --git a/Weave/Graphix/Lights/AmbientLight.cpp b/Weave/Graphix/Lights/AmbientLight.cpp
new file mode 100644 (file)
index 0000000..444e80b
--- /dev/null
@@ -0,0 +1,10 @@
+#include "AmbientLight.h"
+
+AmbientLight::AmbientLight(const vec3 & _color) :
+       Light(_color)
+{
+}
+
+AmbientLight::~AmbientLight()
+{
+}
diff --git a/Weave/Graphix/Lights/AmbientLight.h b/Weave/Graphix/Lights/AmbientLight.h
new file mode 100644 (file)
index 0000000..f8301cf
--- /dev/null
@@ -0,0 +1,19 @@
+#pragma once
+
+#include "../../GLM.h"
+#include "Light.h"
+
+class AmbientLight
+       : public Light
+{
+public:
+       AmbientLight(const vec3& _color);
+
+       virtual ~AmbientLight();
+
+       /*Change Light*/
+
+
+protected:
+
+};
\ No newline at end of file
diff --git a/Weave/Graphix/Lights/DirectionalLight.cpp b/Weave/Graphix/Lights/DirectionalLight.cpp
new file mode 100644 (file)
index 0000000..026cf2c
--- /dev/null
@@ -0,0 +1,24 @@
+#include "DirectionalLight.h"
+
+DirectionalLight::DirectionalLight(const vec3& _position, const vec3& _color, const vec3& _direction) :
+       Light(_color),
+       position(_position),
+       direction(_direction)
+{
+
+}
+
+DirectionalLight::~DirectionalLight()
+{
+
+}
+
+void DirectionalLight::changePosition(const vec3& _position)
+{
+       position = _position;
+}
+
+void DirectionalLight::changeDirection(const vec3& _direction)
+{
+       direction = _direction;
+}
\ No newline at end of file
diff --git a/Weave/Graphix/Lights/DirectionalLight.h b/Weave/Graphix/Lights/DirectionalLight.h
new file mode 100644 (file)
index 0000000..6447fe6
--- /dev/null
@@ -0,0 +1,21 @@
+#pragma once
+
+#include "../../GLM.h"
+#include "Light.h"
+
+class DirectionalLight
+       : public Light
+{
+public:
+       DirectionalLight(const vec3& _color, const vec3& _position, const vec3& _direction);
+
+       virtual ~DirectionalLight();
+
+       /*Change Light*/
+       virtual void changePosition(const vec3& position);
+       virtual void changeDirection(const vec3& direction);
+
+protected:
+       vec3 position;
+       vec3 direction;
+};
\ No newline at end of file
diff --git a/Weave/Graphix/Lights/Light.cpp b/Weave/Graphix/Lights/Light.cpp
new file mode 100644 (file)
index 0000000..d170e36
--- /dev/null
@@ -0,0 +1,31 @@
+#include "Light.h"
+
+Light::Light(const vec3 & _color) : color(_color)
+{
+}
+
+Light::~Light()
+{
+}
+
+void Light::switchLight(swLight _switch)
+{
+       switch (_switch)
+       {
+       default:
+       case SWITCH:
+               active = !active;
+               break;
+       case ON:
+               active = true;
+               break;
+       case OFF:
+               active = false;
+               break;
+       }
+}
+
+void Light::changeColor(const vec3 & _color)
+{
+       color = _color;
+}
diff --git a/Weave/Graphix/Lights/Light.h b/Weave/Graphix/Lights/Light.h
new file mode 100644 (file)
index 0000000..3a64e92
--- /dev/null
@@ -0,0 +1,33 @@
+#pragma once
+
+#include "../../GLM.h"
+
+
+enum swLight {
+       ON,
+       OFF,
+       SWITCH
+};
+
+class Light
+{
+public:
+       Light(const vec3& _color);
+
+       virtual ~Light();
+
+       virtual void switchLight(swLight = SWITCH);
+
+       //Calculate DepthBuffers & CO
+       virtual void usePreProcess(); 
+
+       //Load light Position and DephBuffers
+       virtual void useFinalDraw(); //ID? for LightArrayPosition
+
+       /*Change Light*/
+       virtual void changeColor(const vec3& color);
+
+protected:
+       vec3 color;
+       bool active = true;
+};
\ No newline at end of file
diff --git a/Weave/Graphix/Lights/PointLight.cpp b/Weave/Graphix/Lights/PointLight.cpp
new file mode 100644 (file)
index 0000000..a042be5
--- /dev/null
@@ -0,0 +1,43 @@
+#include "PointLight.h"
+#include "../Graphix.h"
+
+
+
+
+struct CameraDirection
+{
+       GLenum CubemapFace;
+       vec3 Target;
+       vec3 Up;
+};
+
+CameraDirection gCameraDirections[6] =
+{
+       {GL_TEXTURE_CUBE_MAP_POSITIVE_X, vec3(1.0f, 0.0f, 0.0f), vec3(0.0f, -1.0f, 0.0f)},
+       {GL_TEXTURE_CUBE_MAP_NEGATIVE_X, vec3(-1.0f, 0.0f, 0.0f), vec3(0.0f, -1.0f, 0.0f)},
+       {GL_TEXTURE_CUBE_MAP_POSITIVE_Y, vec3(0.0f, 1.0f, 0.0f), vec3(0.0f, 0.0f, -1.0f)},
+       {GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, vec3(0.0f, -1.0f, 0.0f), vec3(0.0f, 0.0f, 1.0f)},
+       {GL_TEXTURE_CUBE_MAP_POSITIVE_Z, vec3(0.0f, 0.0f, 1.0f), vec3(0.0f, -1.0f, 0.0f)},
+       {GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, vec3(0.0f, 0.0f, -1.0f), vec3(0.0f, -1.0f, 0.0f)}
+};
+
+
+
+
+
+PointLight::PointLight(const vec3& _position,const vec3& _color) : 
+       Light(_color),
+       position(_position)
+{
+       
+}
+
+PointLight::~PointLight()
+{
+
+}
+
+void PointLight::changePosition(const vec3& _position)
+{
+       position = _position;
+}
diff --git a/Weave/Graphix/Lights/PointLight.h b/Weave/Graphix/Lights/PointLight.h
new file mode 100644 (file)
index 0000000..8da6029
--- /dev/null
@@ -0,0 +1,20 @@
+#pragma once
+
+#include "../../GLM.h"
+#include "Light.h"
+
+class PointLight
+       : public Light
+{
+public:
+       PointLight(const vec3& _position, const vec3& _color);
+
+       virtual ~PointLight();
+
+
+       /*Change Light*/
+       virtual void changePosition(const vec3& position);
+
+protected:
+       vec3 position;
+};
\ No newline at end of file
diff --git a/Weave/Graphix/PointLight.cpp b/Weave/Graphix/PointLight.cpp
deleted file mode 100644 (file)
index 634f6bb..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#include "PointLight.h"
-#include "Graphix.h"
-
-
-
-
-struct CameraDirection
-{
-       GLenum CubemapFace;
-       vec3 Target;
-       vec3 Up;
-};
-
-CameraDirection gCameraDirections[6] =
-{
-       {GL_TEXTURE_CUBE_MAP_POSITIVE_X, vec3(1.0f, 0.0f, 0.0f), vec3(0.0f, -1.0f, 0.0f)},
-       {GL_TEXTURE_CUBE_MAP_NEGATIVE_X, vec3(-1.0f, 0.0f, 0.0f), vec3(0.0f, -1.0f, 0.0f)},
-       {GL_TEXTURE_CUBE_MAP_POSITIVE_Y, vec3(0.0f, 1.0f, 0.0f), vec3(0.0f, 0.0f, -1.0f)},
-       {GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, vec3(0.0f, -1.0f, 0.0f), vec3(0.0f, 0.0f, 1.0f)},
-       {GL_TEXTURE_CUBE_MAP_POSITIVE_Z, vec3(0.0f, 0.0f, 1.0f), vec3(0.0f, -1.0f, 0.0f)},
-       {GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, vec3(0.0f, 0.0f, -1.0f), vec3(0.0f, -1.0f, 0.0f)}
-};
-
-
-
-
-
-PointLight::PointLight(vec3& _position, vec3& _color) : 
-       position(_position),
-       color(_color),
-       active(true)
-{
-       
-}
-
-PointLight::~PointLight()
-{
-
-}
-
-void PointLight::changeLight(vec3& _position, vec3& _color)
-{
-       position = _position;
-       color = _color;
-}
-
-void PointLight::turnOn()
-{
-       active = true;
-}
-
-void PointLight::turnOff()
-{
-       active = false;
-}
\ No newline at end of file
diff --git a/Weave/Graphix/PointLight.h b/Weave/Graphix/PointLight.h
deleted file mode 100644 (file)
index 17355a0..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#pragma once
-
-#include "../GLM.h"
-
-class PointLight
-{
-public:
-       PointLight(vec3& _position, vec3& _color);
-
-       virtual ~PointLight();
-
-       void changeLight(vec3& _position, vec3& _color);
-       void turnOn();
-       void turnOff();
-
-protected:
-       vec3 position;
-       vec3 color;
-       bool active;
-};
\ No newline at end of file
index 82b6bd4876540b862158b86f8d16d7b6cd963abf..deb901f41966f16bc428c950131b99abd5720eda 100644 (file)
@@ -97,6 +97,9 @@
     <ClCompile Include="Game.cpp" />\r
     <ClCompile Include="GLM.cpp" />\r
     <ClCompile Include="Graphix\Graphix.cpp" />\r
+    <ClCompile Include="Graphix\Lights\AmbientLight.cpp" />\r
+    <ClCompile Include="Graphix\Lights\DirectionalLight.cpp" />\r
+    <ClCompile Include="Graphix\Lights\Light.cpp" />\r
     <ClCompile Include="Graphix\Model\Animation.cpp" />\r
     <ClCompile Include="Graphix\Model\BBox.cpp" />\r
     <ClCompile Include="Graphix\Model\IAnimMesh.cpp" />\r
     <ClCompile Include="Graphix\Model\Model.cpp" />\r
     <ClCompile Include="Graphix\Model\Plane.cpp" />\r
     <ClCompile Include="Graphix\Model\SkyBox.cpp" />\r
-    <ClCompile Include="Graphix\PointLight.cpp" />\r
+    <ClCompile Include="Graphix\Lights\PointLight.cpp" />\r
     <ClCompile Include="Graphix\Textures\dBufferObject.cpp" />\r
     <ClCompile Include="Graphix\Textures\fBufferObject.cpp" />\r
     <ClCompile Include="Graphix\Textures\rBufferObject.cpp" />\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="Average.h" />\r
+    <ClInclude Include="Graphix\Lights.h" />\r
+    <ClInclude Include="Graphix\Lights\AmbientLight.h" />\r
+    <ClInclude Include="Graphix\Lights\DirectionalLight.h" />\r
+    <ClInclude Include="Graphix\Lights\Light.h" />\r
     <ClInclude Include="Graphix\Textures\BufferObject.h" />\r
     <ClInclude Include="Graphix\Debug.h" />\r
     <ClInclude Include="Graphix\Model.h" />\r
     <ClInclude Include="Graphix\Model\Model.h" />\r
     <ClInclude Include="Graphix\Model\Plane.h" />\r
     <ClInclude Include="Graphix\Model\SkyBox.h" />\r
-    <ClInclude Include="Graphix\PointLight.h" />\r
+    <ClInclude Include="Graphix\Lights\PointLight.h" />\r
     <ClInclude Include="Graphix\Textures.h" />\r
     <ClInclude Include="Graphix\Textures\dBufferObject.h" />\r
     <ClInclude Include="Graphix\Textures\fBufferObject.h" />\r
index e079ff4b89f8f373e8b2c3232e907ce19d863fa0..cb0dc4189059e7803068052a904b7a846d2b862a 100644 (file)
@@ -63,9 +63,6 @@
     <ClCompile Include="Scene\Level.cpp">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="Graphix\PointLight.cpp">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
     <ClCompile Include="Graphix\Model\Animation.cpp">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
     <ClCompile Include="Graphix\Textures\dBufferObject.cpp">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
+    <ClCompile Include="Graphix\Lights\PointLight.cpp">\r
+      <Filter>Source Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="Graphix\Lights\Light.cpp">\r
+      <Filter>Source Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="Graphix\Lights\DirectionalLight.cpp">\r
+      <Filter>Source Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="Graphix\Lights\AmbientLight.cpp">\r
+      <Filter>Source Files</Filter>\r
+    </ClCompile>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="Fps.h">\r
     <ClInclude Include="Graphix\Debug.h">\r
       <Filter>Header Files</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="Graphix\PointLight.h">\r
-      <Filter>Header Files</Filter>\r
-    </ClInclude>\r
     <ClInclude Include="Graphix\Model\Animation.h">\r
       <Filter>Header Files</Filter>\r
     </ClInclude>\r
     <ClInclude Include="Graphix\Textures\dBufferObject.h">\r
       <Filter>Header Files</Filter>\r
     </ClInclude>\r
+    <ClInclude Include="Graphix\Lights.h">\r
+      <Filter>Header Files</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="Graphix\Lights\PointLight.h">\r
+      <Filter>Header Files</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="Graphix\Lights\Light.h">\r
+      <Filter>Header Files</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="Graphix\Lights\DirectionalLight.h">\r
+      <Filter>Header Files</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="Graphix\Lights\AmbientLight.h">\r
+      <Filter>Header Files</Filter>\r
+    </ClInclude>\r
   </ItemGroup>\r
 </Project>
\ No newline at end of file