2014-02-16 10:41:12 +00:00
|
|
|
/*
|
|
|
|
* $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
|
2014-02-16 13:25:55 +00:00
|
|
|
* lisätty setTexture-funktio
|
2014-02-16 10:41:12 +00:00
|
|
|
*
|
|
|
|
* Revision 1.7 2002/06/27 00:08:04 msell
|
2014-02-16 13:25:55 +00:00
|
|
|
* Kimmotukset palloille myös pyöritettyihin mesheihin
|
2014-02-16 10:41:12 +00:00
|
|
|
*
|
|
|
|
* Revision 1.6 2002/06/20 00:21:01 jkaarlas
|
|
|
|
* materiaali- ja tekstuurihommia edistetty
|
|
|
|
*
|
|
|
|
* Revision 1.5 2002/06/19 22:45:29 jkaarlas
|
2014-02-16 13:25:55 +00:00
|
|
|
* nyt nämä menee järkevästi
|
2014-02-16 10:41:12 +00:00
|
|
|
*
|
|
|
|
* Revision 1.4 2002/06/17 20:49:05 msell
|
|
|
|
* free -> SDL_FreeSurface
|
|
|
|
*
|
|
|
|
* Revision 1.3 2002/06/16 01:04:58 jkaarlas
|
2014-02-16 13:25:55 +00:00
|
|
|
* tulipa säädettyä includejen kanssa. oon tod.näk. eri mieltä aamulla
|
2014-02-16 10:41:12 +00:00
|
|
|
*
|
|
|
|
* 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;
|
|
|
|
}
|