Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/layer.cc')
-rw-r--r--src/model/layer.cc46
1 files changed, 43 insertions, 3 deletions
diff --git a/src/model/layer.cc b/src/model/layer.cc
index 81faa6c..51d8c9a 100644
--- a/src/model/layer.cc
+++ b/src/model/layer.cc
@@ -10,12 +10,15 @@ namespace model
{
Layer::Layer() :
+ layer_size(),
layer_rgbgen(RGBGenIdentity),
- layer_color(),
+ layer_color(1.0f),
+ layer_color_specular(1.0f),
layer_texmap(TexMapNone),
layer_texture_name(),
layer_texture_id(0),
- layer_tcgen(TCGenNone)
+ layer_tcgen(TCGenBase),
+ layer_bright(false)
{
}
@@ -23,6 +26,11 @@ Layer::~Layer()
{
}
+void Layer::set_size(const math::Vector2f & size)
+{
+ layer_size.assign(size);
+}
+
void Layer::set_rgbgen(const RGBGen rgbgen)
{
layer_rgbgen = rgbgen;
@@ -32,11 +40,43 @@ void Layer::set_color(const math::Color & color)
{
layer_color.assign(color);
}
+
+void Layer::set_specular(const math::Color & specular)
+{
+ layer_color_specular.assign(specular);
+}
+
+void Layer::set_texmap(const TexMap texmap)
+{
+ layer_texmap = texmap;
+}
+
+void Layer::set_texture(const std::string & texture)
+{
+ if (texture.size())
+ {
+ layer_texture_name.assign(texture);
+ set_texmap(TexMapImage);
+ } else {
+ layer_texture_name.clear();
+ set_texmap(TexMapNone);
+ }
+}
+void Layer::set_texture_id(const size_t id)
+{
+ layer_texture_id = id;
+}
+
void Layer::set_tcgen(const TCGen tcgen)
{
layer_tcgen = tcgen;
}
-
+
+void Layer::set_bright(const bool bright)
+{
+ layer_bright = bright;
+}
+
}