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:
authorKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-12-01 11:43:02 +0300
committerKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-12-01 11:43:02 +0300
commitd098d94372e6952ff3d540978aa096ca2df358e7 (patch)
treed7bce2bde16ac3386556958c7bdb4a2e0f7d9b49 /source/gameengine/Converter
parent8b9de908bbc724c83627c80620daa654b7888cea (diff)
Make objects lit by default if there is a light in the scene, and no other face information exists for that object.
Diffstat (limited to 'source/gameengine/Converter')
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
index a716098514a..f2d9d46bf94 100644
--- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp
+++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
@@ -160,6 +160,8 @@
#include "BL_ArmatureObject.h"
#include "BL_DeformableGameObject.h"
+static int default_face_mode = TF_DYNAMIC;
+
static unsigned int KX_rgbaint2uint_new(unsigned int icol)
{
union
@@ -197,6 +199,21 @@ static unsigned int KX_Mcol2uint_new(MCol col)
return out_colour.integer;
}
+static void SetDefaultFaceType(Scene* scene)
+{
+ default_face_mode = TF_DYNAMIC;
+ Base *base = static_cast<Base*>(scene->base.first);
+ while(base)
+ {
+ if (base->object->type == OB_LAMP)
+ {
+ default_face_mode = TF_DYNAMIC|TF_LIGHT;
+ return;
+ }
+ base = base->next;
+ }
+}
+
RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools* rendertools, KX_Scene* scene, KX_BlenderSceneConverter *converter)
{
RAS_MeshObject *meshobj;
@@ -332,7 +349,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
// If there are no vertex colors OR texfaces,
// Initialize face to white and set COLLSION true and everything else FALSE
unsigned int colour = 0xFFFFFFFFL;
- mode = TF_DYNAMIC;
+ mode = default_face_mode;
transp = TF_SOLID;
tile = 0;
if (ma)
@@ -1077,6 +1094,8 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
logicmgr->RegisterActionName(curAct->id.name, curAct);
}
+ SetDefaultFaceType(blenderscene);
+
Base *base = static_cast<Base*>(blenderscene->base.first);
while(base)
{