From c94455c14d28221f6e05f33ba42e23a5d3245a28 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Sun, 8 Jan 2006 09:37:15 +0000 Subject: more linux game engine work. hopefully works now! --- source/gameengine/Ketsji/BL_Material.cpp | 132 +++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 source/gameengine/Ketsji/BL_Material.cpp (limited to 'source/gameengine/Ketsji/BL_Material.cpp') diff --git a/source/gameengine/Ketsji/BL_Material.cpp b/source/gameengine/Ketsji/BL_Material.cpp new file mode 100644 index 00000000000..b77750c1644 --- /dev/null +++ b/source/gameengine/Ketsji/BL_Material.cpp @@ -0,0 +1,132 @@ +// ------------------------------------ +#ifdef WIN32 +#include +#endif // WIN32 +#ifdef __APPLE__ +#include +#include +#else +#include +#include +#endif + + +#include + +#include "BL_Material.h" +#include "MT_assert.h" + +#include "DNA_material_types.h" +#include "DNA_texture_types.h" +#include "DNA_image_types.h" +#include "DNA_mesh_types.h" +#include "IMB_imbuf_types.h" +#include "IMB_imbuf.h" + +MTex* getImageFromMaterial(Material *mat, int index) +{ + if(!mat) return 0; + + if(!(index >=0 && index <=10) ) return 0; + + MTex *m = mat->mtex[index]; + return m?m:0; +} + +int getNumTexChannels( Material *mat ) +{ + int count = -1; + if(!mat) return -1; + + for(count =0; (count < 10) && mat->mtex[count] != 0; count++) {} + return count; +} + +BL_Material::BL_Material() +{ + rgb[0] = 0; + rgb[1] = 0; + rgb[2] = 0; + rgb[3] = 0; + IdMode = 0; + ras_mode = 0; + tile = 0; + matname = "NoMaterial"; + matcolor[0] = 0.5f; + matcolor[1] = 0.5f; + matcolor[2] = 0.5f; + matcolor[3] = 0.5f; + speccolor[0] = 1.f; + speccolor[1] = 1.f; + speccolor[2] = 1.f; + transp = 0; + hard = 50.f; + spec_f = 0.5f; + alpha = 1.f; + emit = 0.f; + mode = 0; + material = 0; + tface = 0; + material_index = 0; + amb=0.5f; + num_enabled = 0; + + int i; + for(i=0; i<4; i++) + uv[i] = MT_Point2(0.f,1.f); + + for(i=0; i