diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-06-18 17:44:29 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-06-18 17:44:29 +0400 |
commit | ccc58f449118c175daa8e5eee7090fe439e7c601 (patch) | |
tree | 879ac30b15ac0c7f5665a5f5c545e40c1da95853 /source/gameengine/Converter | |
parent | a790d75dc8b87312dc1583df1f29565c43d2c0e6 (diff) |
Apricot Branch: Various Fixes
=============================
* Make GLSL shaders work in the game player.
* In the game engine with GLSL and no material assigned, it now falls
back to texface materials. Not in the 3d view yet ..
* Fix memory when using the default material for GLSL.
* Fix another use of the builtin "smooth" name as a variable in the
GLSL code, gives issue on ATI.
* Fix problem with the armature deform being applied to only one
material bucket, gave floating triangles.
* Fix crash when setting .timeOffset through python without a parent.
* Use only gl*ARB functions so that GLSL also works on graphics cards
that do not have opengl 2.0 but do have the extensions.
* Fix use of unitialized variable for render memory usage stats.
Diffstat (limited to 'source/gameengine/Converter')
-rw-r--r-- | source/gameengine/Converter/BL_BlenderDataConversion.cpp | 3 | ||||
-rw-r--r-- | source/gameengine/Converter/BL_SkinDeformer.cpp | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp index be3f40f18fe..b2c25198ab4 100644 --- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp +++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp @@ -332,7 +332,7 @@ BL_Material* ConvertMaterial( type = 1; // material color material->IdMode = DEFAULT_BLENDER; - material->glslmat = glslmat; + material->glslmat = (validmat)? glslmat: false; // -------------------------------- if(validmat) { @@ -561,6 +561,7 @@ BL_Material* ConvertMaterial( } else { int valid = 0; + // check for tface tex to fallback on if( validface ){ diff --git a/source/gameengine/Converter/BL_SkinDeformer.cpp b/source/gameengine/Converter/BL_SkinDeformer.cpp index 78fc73f21a1..526c6479df3 100644 --- a/source/gameengine/Converter/BL_SkinDeformer.cpp +++ b/source/gameengine/Converter/BL_SkinDeformer.cpp @@ -108,9 +108,15 @@ bool BL_SkinDeformer::Apply(RAS_IPolyMaterial *mat) MT_Point3 pt; // float co[3]; + Update(); + + /* this early out doesn't work with multiple material buckets + * for the same mesh, figure out how to do this better .. */ +#if 0 if (!Update()) // no need to update the cache return false; +#endif array = m_pMeshObject->GetVertexCache(mat); mvarray = m_pMeshObject->GetMVertCache(mat); |