Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Bolsee <benoit.bolsee@online.be>2008-11-05 16:22:10 +0300
committerBenoit Bolsee <benoit.bolsee@online.be>2008-11-05 16:22:10 +0300
commit8916f84622ccadbbb4111b03117cc6cc9ad9fe0a (patch)
tree9763e43d44746b120ce541a0cc4f663628be849b /source/gameengine/VideoTexture/Texture.cpp
parent3b2a07a8665be4c10b22e2ff84d45d67d86ffc79 (diff)
VideoTexture: Add support for GLSL. FIx small printout bug in Exception printout
Diffstat (limited to 'source/gameengine/VideoTexture/Texture.cpp')
-rw-r--r--source/gameengine/VideoTexture/Texture.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/source/gameengine/VideoTexture/Texture.cpp b/source/gameengine/VideoTexture/Texture.cpp
index e922bbd768d..88a26e3c088 100644
--- a/source/gameengine/VideoTexture/Texture.cpp
+++ b/source/gameengine/VideoTexture/Texture.cpp
@@ -54,9 +54,6 @@ http://www.gnu.org/copyleft/lesser.txt.
{ exp.report(); }
-// are Blender materials used
-bool blendMats = false;
-
// Blender GameObject type
BlendType<KX_GameObject> gameObjectType ("KX_GameObject");
@@ -198,15 +195,22 @@ int Texture_init (Texture *self, PyObject *args, PyObject *kwds)
if (mat != NULL)
{
// is it blender material or polygon material
- blendMats = (mat->GetFlag() & RAS_BLENDERMAT) != 0;
- if (blendMats)
+ if (mat->GetFlag() & RAS_BLENDERGLSL)
+ {
+ self->m_imgTexture = static_cast<KX_BlenderMaterial*>(mat)->getImage(texID);
+ self->m_useMatTexture = false;
+ } else if (mat->GetFlag() & RAS_BLENDERMAT)
+ {
// get blender material texture
self->m_matTexture = static_cast<KX_BlenderMaterial*>(mat)->getTex(texID);
+ self->m_useMatTexture = true;
+ }
else
{
// get texture pointer from polygon material
MTFace * tface = static_cast<KX_PolygonMaterial*>(mat)->GetMTFace();
self->m_imgTexture = (Image*)tface->tpage;
+ self->m_useMatTexture = false;
}
}
// check if texture is available, if not, initialization failed
@@ -246,7 +250,7 @@ PyObject * Texture_close(Texture * self)
{
self->m_orgSaved = false;
// restore original texture code
- if (blendMats)
+ if (self->m_useMatTexture)
self->m_matTexture->swapTexture(self->m_orgTex);
else
self->m_imgTexture->bindcode = self->m_orgTex;
@@ -292,7 +296,7 @@ PyObject * Texture_refresh (Texture * self, PyObject * args)
{
self->m_orgSaved = true;
// save original image code
- if (blendMats)
+ if (self->m_useMatTexture)
self->m_orgTex = self->m_matTexture->swapTexture(self->m_actTex);
else
{