Initial structure

This commit is contained in:
2015-09-04 10:02:06 +02:00
commit 98e363eda6
457 changed files with 127943 additions and 0 deletions
+60
View File
@@ -0,0 +1,60 @@
/*
This file is part of Daydream Engine.
Copyright 2014 Adam Byléhn, Tobias Dahl, Simon Holmberg, Viktor Ljung
Daydream Engine is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Daydream Engine is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with Daydream Engine. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef Components_BlendMap_h__
#define Components_BlendMap_h__
#include "Core/Component.h"
#include "Core/Entity.h"
namespace dd
{
namespace Components
{
struct BlendMap : Component
{
BlendMap()
: TextureRed("Textures/ErrorTextureRed.png")
, TextureRedNormal("Textures/NeutralNormalMap.png")
, TextureRedSpecular("Textures/NeutralSpecularMap.png")
, TextureGreen("Textures/ErrorTextureGreen.png")
, TextureGreenNormal("Textures/NeutralNormalMap.png")
, TextureGreenSpecular("Textures/NeutralSpecularMap.png")
, TextureBlue("Textures/ErrorTextureBlue.png")
, TextureBlueNormal("Textures/NeutralNormalMap.png")
, TextureBlueSpecular("Textures/NeutralSpecularMap.png")
, TextureRepeats(100.f) { }
std::string TextureRed;
std::string TextureRedNormal;
std::string TextureRedSpecular;
std::string TextureGreen;
std::string TextureGreenNormal;
std::string TextureGreenSpecular;
std::string TextureBlue;
std::string TextureBlueNormal;
std::string TextureBlueSpecular;
float TextureRepeats;
};
}
}
#endif // !Components_BlendMap_h__
+46
View File
@@ -0,0 +1,46 @@
/*
This file is part of Daydream Engine.
Copyright 2014 Adam Byléhn, Tobias Dahl, Simon Holmberg, Viktor Ljung
Daydream Engine is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Daydream Engine is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with Daydream Engine. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef Components_Camera_h__
#define Components_Camera_h__
#include "Core/Component.h"
#include "Core/Entity.h"
namespace dd
{
namespace Components
{
struct Camera : Component
{
Camera()
: FOV(glm::radians(45.f))
, NearClip(0.1f)
, FarClip(100.f) { }
float FOV;
float NearClip;
float FarClip;
};
}
}
#endif // !Components_Camera_h__
+48
View File
@@ -0,0 +1,48 @@
/*
This file is part of Daydream Engine.
Copyright 2014 Adam Byléhn, Tobias Dahl, Simon Holmberg, Viktor Ljung
Daydream Engine is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Daydream Engine is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with Daydream Engine. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef Components_DamageModel_h__
#define Components_DamageModel_h__
#include <string>
#include "Core/Component.h"
namespace dd
{
namespace Components
{
struct DamageModel : Component
{
DamageModel()
: Color(glm::vec4(1.0f, 1.0f, 1.0f, 1.0f))
, ShadowCaster(true)
, Transparent(false)
{ }
std::string ModelFile;
glm::vec4 Color;
bool ShadowCaster;
bool Transparent;
};
}
}
#endif // !Components_DamageModel_h__
+42
View File
@@ -0,0 +1,42 @@
/*
This file is part of Daydream Engine.
Copyright 2014 Adam Byléhn, Tobias Dahl, Simon Holmberg, Viktor Ljung
Daydream Engine is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Daydream Engine is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with Daydream Engine. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef Components_DirectionalLight_h__
#define Components_DirectionalLight_h__
#include "Core/Component.h"
#include "Core/Color.h"
namespace dd
{
namespace Components
{
struct DirectionalLight : Component
{
float Intensity;
float MaxRange;
float SpecularIntensity;
Color Color;
};
}
}
#endif // !Components_DirectionalLight_h__
+46
View File
@@ -0,0 +1,46 @@
/*
This file is part of Daydream Engine.
Copyright 2014 Adam Byléhn, Tobias Dahl, Simon Holmberg, Viktor Ljung
Daydream Engine is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Daydream Engine is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with Daydream Engine. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef Components_Model_h__
#define Components_Model_h__
#include <string>
#include "Core/Component.h"
namespace dd
{
namespace Components
{
struct Model : Component
{
Model() : Color(glm::vec4(1.0f, 1.0f, 1.0f, 1.0f)), Visible(true), ShadowCaster(true), Transparent(false), AverageNormals(false) { }
std::string ModelFile;
glm::vec4 Color;
bool Visible;
bool ShadowCaster;
bool Transparent;
bool AverageNormals;
};
}
}
#endif // !Components_Model_h__
+56
View File
@@ -0,0 +1,56 @@
/*
This file is part of Daydream Engine.
Copyright 2014 Adam Byléhn, Tobias Dahl, Simon Holmberg, Viktor Ljung
Daydream Engine is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Daydream Engine is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with Daydream Engine. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef Components_PointLight_h__
#define Components_PointLight_h__
#include "Core/Component.h"
#include "Core/Color.h"
namespace dd
{
namespace Components
{
struct PointLight : Component
{
PointLight()
: Specular(1.0f, 1.0f, 1.0f)
, Diffuse(1.0f, 1.0f, 1.0f)
, specularExponent(50.0f)
, ConstantAttenuation(1.0f)
, LinearAttenuation(0.f)
, QuadraticAttenuation(3.f)
, Radius(5.f)
{ }
float ConstantAttenuation, LinearAttenuation, QuadraticAttenuation;
float Radius;
Color color;
glm::vec3 Specular;
glm::vec3 Diffuse;
float specularExponent;
float Scale;
};
}
}
#endif // !Components_PointLight_h__
+43
View File
@@ -0,0 +1,43 @@
/*
This file is part of Daydream Engine.
Copyright 2014 Adam Byléhn, Tobias Dahl, Simon Holmberg, Viktor Ljung
Daydream Engine is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Daydream Engine is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with Daydream Engine. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef Components_Sprite_h__
#define Components_Sprite_h__
#include <string>
#include "Core/Component.h"
namespace dd
{
namespace Components
{
struct Sprite : Component
{
Sprite() : Color(glm::vec4(1.0f, 1.0f, 1.0f, 1.0f)) { }
std::string SpriteFile;
glm::vec4 Color;
};
}
}
#endif // !Components_Sprite_h__
+50
View File
@@ -0,0 +1,50 @@
/*
This file is part of Daydream Engine.
Copyright 2014 Adam Byléhn, Tobias Dahl, Simon Holmberg, Viktor Ljung
Daydream Engine is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Daydream Engine is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with Daydream Engine. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef Components_Viewport_h__
#define Components_Viewport_h__
#include "Core/Component.h"
namespace dd
{
namespace Components
{
struct Viewport : Component
{
Viewport()
: Left(0.f)
, Top(0.f)
, Right(1.f)
, Bottom(1.f)
, Camera(0) { }
float Left;
float Top;
float Right;
float Bottom;
EntityID Camera;
};
}
}
#endif // Components_Viewport_h__