[Bf-blender-cvs] [a9e52fd] temp-cycles-microdisplacement: Make Cycles creased subdivision match Blenders more closely

Mai Lavelle noreply at git.blender.org
Thu Aug 4 11:26:42 CEST 2016


Commit: a9e52fd8ee66cede4a0ae56720e9779abe3f0fde
Author: Mai Lavelle
Date:   Thu Aug 4 05:21:31 2016 -0400
Branches: temp-cycles-microdisplacement
https://developer.blender.org/rBa9e52fd8ee66cede4a0ae56720e9779abe3f0fde

Make Cycles creased subdivision match Blenders more closely

Sets vertex creases to match how Blender handles vertexes on the edge of a mesh.
There's probably more inconsistencies but I'll see about handling those later.

===================================================================

M	intern/cycles/render/mesh_subdivision.cpp

===================================================================

diff --git a/intern/cycles/render/mesh_subdivision.cpp b/intern/cycles/render/mesh_subdivision.cpp
index 778e3dd..efb40ef 100644
--- a/intern/cycles/render/mesh_subdivision.cpp
+++ b/intern/cycles/render/mesh_subdivision.cpp
@@ -85,6 +85,17 @@ namespace Far {
 			}
 		}
 
+		for(int i = 0; i < mesh.verts.size(); i++) {
+			ConstIndexArray vert_edges = getBaseVertexEdges(refiner, i);
+
+			if(vert_edges.size() == 2) {
+				float sharpness = refiner.getLevel(0).getEdgeSharpness(vert_edges[0]);
+				sharpness = std::min(sharpness, refiner.getLevel(0).getEdgeSharpness(vert_edges[1]));
+
+				setBaseVertexSharpness(refiner, i, sharpness);
+			}
+		}
+
 		return true;
 	}




More information about the Bf-blender-cvs mailing list