diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-04-14 21:22:05 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-04-14 21:22:05 +0400 |
commit | 5e26763b40218ac8328bfd27637f1d08501a5059 (patch) | |
tree | b663cad4954365d1b995ef5bee7c75b46dc9ef66 /source/blender/render | |
parent | 3ac68d7975a963261bbd13687c31655f2ce72666 (diff) |
fix [#26933] Render Crash with Decimate Modifier
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 6222635378e..bc066de7df1 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -541,17 +541,18 @@ static void GetTextureCoordinate(const SMikkTSpaceContext * pContext, float fUV[ SRenderMeshToTangent * pMesh = (SRenderMeshToTangent *) pContext->m_pUserData; VlakRen *vlr= RE_findOrAddVlak(pMesh->obr, face_num); MTFace *tface= RE_vlakren_get_tface(pMesh->obr, vlr, pMesh->obr->actmtface, NULL, 0); + const float *coord; if(tface!=NULL) { - float * pTexCo = tface->uv[vert_index]; - fUV[0]=pTexCo[0]; fUV[1]=pTexCo[1]; + coord= tface->uv[vert_index]; + fUV[0]= coord[0]; fUV[1]= coord[1]; } - else - { - const float *orco= (&vlr->v1)[vert_index]->orco; - map_to_sphere(&fUV[0], &fUV[1], orco[0], orco[1], orco[2]); - + else if(1 || (coord= (&vlr->v1)[vert_index]->orco)) { + map_to_sphere(&fUV[0], &fUV[1], coord[0], coord[1], coord[2]); + } + else { /* else we get un-initialized value, 0.0 ok default? */ + fUV[0]= fUV[1]= 0.0f; } } |