[Bf-blender-cvs] [57020d5] temp-cycles-microdisplacement: Merge branch 'master' into temp-cycles-microdisplacement
Mai Lavelle
noreply at git.blender.org
Sat Jul 30 13:19:23 CEST 2016
Commit: 57020d5d154a0236c592d0b05677f6851a4f0837
Author: Mai Lavelle
Date: Sat Jul 30 06:26:51 2016 -0400
Branches: temp-cycles-microdisplacement
https://developer.blender.org/rB57020d5d154a0236c592d0b05677f6851a4f0837
Merge branch 'master' into temp-cycles-microdisplacement
Includes changes from review
===================================================================
===================================================================
diff --cc intern/cycles/blender/blender_mesh.cpp
index bda7639,74fd4cb..b4c490c
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@@ -641,8 -637,7 +643,8 @@@ static void create_mesh(Scene *scene
/* create generated coordinates from undeformed coordinates */
if(mesh->need_attribute(scene, ATTR_STD_GENERATED)) {
- Attribute *attr = (subdivision? mesh->subd_attributes: mesh->attributes).add(ATTR_STD_GENERATED);
+ Attribute *attr = attributes.add(ATTR_STD_GENERATED);
+ attr->flags |= ATTR_SUBDIVIDED;
float3 loc, size;
mesh_texture_space(b_mesh, loc, size);
diff --cc intern/cycles/render/attribute.cpp
index 4030ffb,e8ff81f..d473be9
--- a/intern/cycles/render/attribute.cpp
+++ b/intern/cycles/render/attribute.cpp
@@@ -135,12 -130,8 +135,12 @@@ size_t Attribute::data_sizeof() cons
size_t Attribute::element_size(Mesh *mesh, AttributePrimitive prim) const
{
- size_t size;
+ if(flags & ATTR_FINAL_SIZE) {
+ return buffer.size() / data_sizeof();
+ }
+ size_t size;
-
++
switch(element) {
case ATTR_ELEMENT_OBJECT:
case ATTR_ELEMENT_MESH:
diff --cc intern/cycles/render/mesh.cpp
index 865caf3,4cf0a78..0a81221
--- a/intern/cycles/render/mesh.cpp
+++ b/intern/cycles/render/mesh.cpp
@@@ -1381,15 -1358,7 +1380,13 @@@ void MeshManager::device_update_mesh(De
if(mesh->subd_faces.size()) {
Mesh::SubdFace& last = mesh->subd_faces[mesh->subd_faces.size()-1];
patch_size += (last.ptex_offset + last.num_ptex_faces()) * 8;
+
+ /* patch tables are stored in same array so include them in patch_size */
+ if(mesh->patch_table) {
+ mesh->patch_table_offset = patch_size;
+ patch_size += mesh->patch_table->total_size();
+ }
}
- face_size += mesh->subd_faces.size();
- corner_size += mesh->subd_face_corners.size();
}
/* Create mapping from triangle to primitive triangle array. */
More information about the Bf-blender-cvs
mailing list