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:
authorMai Lavelle <mai.lavelle@gmail.com>2016-08-28 00:57:36 +0300
committerMai Lavelle <mai.lavelle@gmail.com>2016-08-28 01:07:04 +0300
commita5261e06a309982a47e207faf59194c59408dbad (patch)
treeccd576674ff3ab32132ab7d262855b3a2e9fa32c
parent4ebfb700ba846fea5a50df99e409e25b86f711e2 (diff)
Fix T49167: Normals in wrong coordinate space when adaptive subdivision is used
Meshes with Cycles subdivision were being transformed to world space leading to normals to sometimes be calculated in that space, while they should be in object space. Also caused dicing to happen at the wrong rate for scaled meshes.
-rw-r--r--intern/cycles/render/object.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/intern/cycles/render/object.cpp b/intern/cycles/render/object.cpp
index 62076f3a865..db44327e24c 100644
--- a/intern/cycles/render/object.cpp
+++ b/intern/cycles/render/object.cpp
@@ -692,7 +692,7 @@ void ObjectManager::apply_static_transforms(DeviceScene *dscene, Scene *scene, u
* Could be solved by moving reference counter to Mesh.
*/
if((mesh_users[object->mesh] == 1 && !object->mesh->has_surface_bssrdf) &&
- !object->mesh->has_true_displacement())
+ !object->mesh->has_true_displacement() && object->mesh->subdivision_type == Mesh::SUBDIVISION_NONE)
{
if(!(motion_blur && object->use_motion)) {
if(!object->mesh->transform_applied) {