/* * $Id: material.cpp,v 1.10 2002/07/19 20:40:44 msell Exp $ * * * $Log: material.cpp,v $ * Revision 1.10 2002/07/19 20:40:44 msell * Linux-porttausta * * Revision 1.9 2002/07/10 22:22:04 jkaarlas * getColor * * Revision 1.8 2002/06/27 21:43:29 jkaarlas * lisätty setTexture-funktio * * Revision 1.7 2002/06/27 00:08:04 msell * Kimmotukset palloille myös pyöritettyihin mesheihin * * Revision 1.6 2002/06/20 00:21:01 jkaarlas * materiaali- ja tekstuurihommia edistetty * * Revision 1.5 2002/06/19 22:45:29 jkaarlas * nyt nämä menee järkevästi * * Revision 1.4 2002/06/17 20:49:05 msell * free -> SDL_FreeSurface * * Revision 1.3 2002/06/16 01:04:58 jkaarlas * tulipa säädettyä includejen kanssa. oon tod.näk. eri mieltä aamulla * * Revision 1.2 2002/06/03 23:06:38 msell * no message * * * * $Date: 2002/07/19 20:40:44 $ * */ #include "main.h" #include "material.h" #include "glapi.h" #include "graphics.h" Material::Material(void){ setColor(1, 1, 1, 1); this->texture = new Texture; } bool Material::loadTexture(char *path){ if (!this->texture){ this->texture = new Texture; } if (this->texture->loadImage(path)){ setColor(1, 1, 1, 1); return true; } return false; } void Material::freeTexture(void){ this->texture->~Texture(); } void Material::setColor(float red, float green, float blue, float alpha){ color[0] = red; color[1] = green; color[2] = blue; color[3] = alpha; } const float* Material::getColor(void){ return color; } void Material::enable(void){ enabled = true; glColor4fv(color); this->texture->enable(); } void Material::disable(void){ enabled = false; this->texture->disable(); } bool Material::isEnabled(void){ return enabled; } Texture* Material::getTexture(void){ return this->texture; } void Material::setTexture(Texture* tex){ //this->texture->~Texture; this->texture = tex; }