X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fmaterial.h;h=e1bfec4caa0707419941b88476394955ab651244;hb=HEAD;hp=1da27199aa21ebea2704862527d920de982721c7;hpb=50e504e2171295d5922ddf87b358e0024db3ce40;p=libs%2Fgl.git diff --git a/source/material.h b/source/material.h deleted file mode 100644 index 1da27199..00000000 --- a/source/material.h +++ /dev/null @@ -1,69 +0,0 @@ -/* $Id$ - -This file is part of libmspgl -Copyright © 2007-2008 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - -#ifndef MSP_GL_MATERIAL_H_ -#define MSP_GL_MATERIAL_H_ - -#include -#include "color.h" - -namespace Msp { -namespace GL { - -/** -Stores OpenGL material properties. Since OpenGL does not support material -objects, application of material is done with several calls to glMaterial. -*/ -class Material -{ -public: - class Loader: public DataFile::Loader - { - private: - Material &mat; - - public: - Loader(Material &); - Material &get_object() const { return mat; } - - private: - void ambient(float, float, float, float); - void diffuse(float, float, float, float); - void specular(float, float, float, float); - void emission(float, float, float, float); - }; - -private: - Color ambient; - Color diffuse; - Color specular; - Color emission; - float shininess; - -public: - Material(); - void set_ambient(const Color &a); - void set_diffuse(const Color &d); - void set_specular(const Color &s); - void set_emission(const Color &e); - void set_shininess(float s); - const Color &get_ambient() const { return ambient; } - const Color &get_diffuse() const { return diffuse; } - const Color &get_specular() const { return specular; } - const Color &get_emission() const { return emission; } - float get_shininess() const { return shininess; } - void bind() const; - - static void unbind(); -private: - static const Material *current; -}; - -} // namespace GL -} // namespace Msp - -#endif