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:
parent
4ebfb700ba
commit
a5261e06a3
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user