X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?p=sdk;a=blobdiff_plain;f=ecere%2Fsrc%2Fgfx%2F3D%2Fmodels%2FObject3DSFormat.ec;h=c85b210c926195bbcfb038f3add6d9ae63ce5be7;hp=e7a2ff4bb8eb30402daba3fe3dc9c226528d890c;hb=c4fa1ba7248b66ba03b51fc1487865a98073e9fd;hpb=057de2bbb59a3a307747b39ebfbec133debb26e1 diff --git a/ecere/src/gfx/3D/models/Object3DSFormat.ec b/ecere/src/gfx/3D/models/Object3DSFormat.ec index e7a2ff4..c85b210 100644 --- a/ecere/src/gfx/3D/models/Object3DSFormat.ec +++ b/ecere/src/gfx/3D/models/Object3DSFormat.ec @@ -380,6 +380,7 @@ static void ComputeNormals(Mesh mesh, FileInfo * info, Object object) int nNewVertices; Vector3Df * mVertices; double cutOff = cos(Degrees { SMOOTH_CUTOFF }); + bool hasBumpMap = false; Map sharedVertices { }; Map vertexMap { }; @@ -407,6 +408,8 @@ static void ComputeNormals(Mesh mesh, FileInfo * info, Object object) { Face * face = &faces[c]; int i; + if(face->material && face->material.bumpMap) + hasBumpMap = true; // Zero space points if(!mVertices[face->indices[0]].OnCompare(mVertices[face->indices[1]]) && @@ -698,6 +701,7 @@ static void ComputeNormals(Mesh mesh, FileInfo * info, Object object) } mesh.Unlock({ normals = true, tangents = true }); + object.flags.computeLightVectors = hasBumpMap; // Free all the temporary stuff