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.
This commit is contained in:
@@ -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) {
|
||||
|
Reference in New Issue
Block a user