1
0
Fork 0
blockofighter/src/material.cpp

99 lines
2 KiB
C++

/*
* $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;
}