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-06-23 05:12:11 +0400
committerKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-06-23 05:12:11 +0400
commit38de9559bc226910578acfc1fb04db77f2be3a62 (patch)
tree8875c6cf7e585947e432c14c5931df042f7cbb97 /source/gameengine/Converter
parentb506d93f0e6e0a4595ff0287f55aafadf2a66246 (diff)
Fix for reflection mapping unlit faces: normals were not being sent, hence reflection maps weren't being rendered properly (bf-bug #1385)
Set the diffuse material colour - lighting brightness should match blender better. (bf-bug #1385)
Diffstat (limited to 'source/gameengine/Converter')
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.cpp51
1 files changed, 15 insertions, 36 deletions
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
index 33a048be4dd..24306212d15 100644
--- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp
+++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
@@ -226,45 +226,23 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
MT_Point2 uv0(0.0,0.0),uv1(0.0,0.0),uv2(0.0,0.0),uv3(0.0,0.0);
// rgb3 is set from the adjoint face in a square
unsigned int rgb0,rgb1,rgb2,rgb3 = 0;
- pt0 = MT_Point3( mesh->mvert[mface->v1].co[0],
- mesh->mvert[mface->v1].co[1],
- mesh->mvert[mface->v1].co[2]);
- no0 = MT_Vector3(
- mesh->mvert[mface->v1].no[0]/32767.0,
- mesh->mvert[mface->v1].no[1]/32767.0,
- mesh->mvert[mface->v1].no[2]/32767.0
- );
-
- pt1 = MT_Point3( mesh->mvert[mface->v2].co[0],
- mesh->mvert[mface->v2].co[1],
- mesh->mvert[mface->v2].co[2]);
-
- no1 = MT_Vector3(
- mesh->mvert[mface->v2].no[0]/32767.0,
- mesh->mvert[mface->v2].no[1]/32767.0,
- mesh->mvert[mface->v2].no[2]/32767.0
- );
-
- pt2 = MT_Point3( mesh->mvert[mface->v3].co[0],
- mesh->mvert[mface->v3].co[1],
- mesh->mvert[mface->v3].co[2]);
-
- no2 = MT_Vector3(
- mesh->mvert[mface->v3].no[0]/32767.0,
- mesh->mvert[mface->v3].no[1]/32767.0,
- mesh->mvert[mface->v3].no[2]/32767.0
- );
+ MT_Vector3 no0(mesh->mvert[mface->v1].no[0], mesh->mvert[mface->v1].no[1], mesh->mvert[mface->v1].no[2]),
+ no1(mesh->mvert[mface->v2].no[0], mesh->mvert[mface->v2].no[1], mesh->mvert[mface->v2].no[2]),
+ no2(mesh->mvert[mface->v3].no[0], mesh->mvert[mface->v3].no[1], mesh->mvert[mface->v3].no[2]),
+ no3(0.0, 0.0, 0.0);
+ MT_Point3 pt0(mesh->mvert[mface->v1].co),
+ pt1(mesh->mvert[mface->v2].co),
+ pt2(mesh->mvert[mface->v3].co),
+ pt3(0.0, 0.0, 0.0);
+ no0 /= 32767.0;
+ no1 /= 32767.0;
+ no2 /= 32767.0;
if (mface->v4)
{
- pt3 = MT_Point3( mesh->mvert[mface->v4].co[0],
- mesh->mvert[mface->v4].co[1],
- mesh->mvert[mface->v4].co[2]);
- no3 = MT_Vector3(
- mesh->mvert[mface->v4].no[0]/32767.0,
- mesh->mvert[mface->v4].no[1]/32767.0,
- mesh->mvert[mface->v4].no[2]/32767.0
- );
+ pt3 = MT_Point3(mesh->mvert[mface->v4].co);
+ no3 = MT_Vector3(mesh->mvert[mface->v4].no[0], mesh->mvert[mface->v4].no[1], mesh->mvert[mface->v4].no[2]);
+ no3 /= 32767.0;
}
if((!mface->flag & ME_SMOOTH))
@@ -374,6 +352,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
{
polymat->m_specular = MT_Vector3(ma->specr, ma->specg, ma->specb)*ma->spec;
polymat->m_shininess = (float)ma->har/4.0; // 0 < ma->har <= 512
+ polymat->m_diffuse = MT_Vector3(ma->r, ma->g, ma->b)*(ma->emit + ma->ref);
} else
{