Commit: fa84f6e029fd11fb7d1ddbf9bc82e76f8924f1b9 Author: Lukas Stockner Date: Tue Apr 12 17:30:47 2016 +0200 Branches: temp-cycles-microdisplacement https://developer.blender.org/rBfa84f6e029fd11fb7d1ddbf9bc82e76f8924f1b9
Revert local commits to allow merging Mai's branch in =================================================================== M intern/cycles/blender/addon/properties.py M intern/cycles/blender/addon/ui.py M intern/cycles/blender/blender_camera.cpp M intern/cycles/blender/blender_curves.cpp M intern/cycles/blender/blender_mesh.cpp M intern/cycles/blender/blender_sync.cpp M intern/cycles/bvh/bvh.cpp M intern/cycles/bvh/bvh_build.cpp M intern/cycles/bvh/bvh_params.h M intern/cycles/device/device.h M intern/cycles/device/device_cpu.cpp M intern/cycles/kernel/CMakeLists.txt M intern/cycles/kernel/geom/geom.h M intern/cycles/kernel/geom/geom_attribute.h M intern/cycles/kernel/geom/geom_bvh_shadow.h M intern/cycles/kernel/geom/geom_bvh_subsurface.h M intern/cycles/kernel/geom/geom_bvh_traversal.h M intern/cycles/kernel/geom/geom_bvh_volume.h M intern/cycles/kernel/geom/geom_bvh_volume_all.h D intern/cycles/kernel/geom/geom_cache.cpp D intern/cycles/kernel/geom/geom_cache.h D intern/cycles/kernel/geom/geom_cache_triangle.h M intern/cycles/kernel/geom/geom_object.h M intern/cycles/kernel/geom/geom_primitive.h M intern/cycles/kernel/geom/geom_qbvh_shadow.h M intern/cycles/kernel/geom/geom_qbvh_subsurface.h M intern/cycles/kernel/geom/geom_qbvh_traversal.h M intern/cycles/kernel/geom/geom_qbvh_volume.h M intern/cycles/kernel/geom/geom_qbvh_volume_all.h D intern/cycles/kernel/geom/geom_subpatch.h D intern/cycles/kernel/geom/geom_subpatch_bvh.h M intern/cycles/kernel/kernel_bake.h M intern/cycles/kernel/kernel_emission.h M intern/cycles/kernel/kernel_globals.h M intern/cycles/kernel/kernel_shader.h M intern/cycles/kernel/kernel_subsurface.h M intern/cycles/kernel/kernel_types.h M intern/cycles/kernel/osl/osl_services.cpp M intern/cycles/kernel/osl/osl_services.h M intern/cycles/kernel/shaders/node_bump.osl M intern/cycles/kernel/shaders/node_output_displacement.osl M intern/cycles/kernel/svm/svm.h M intern/cycles/kernel/svm/svm_attribute.h M intern/cycles/kernel/svm/svm_displace.h M intern/cycles/kernel/svm/svm_types.h M intern/cycles/kernel/svm/svm_wireframe.h M intern/cycles/render/CMakeLists.txt M intern/cycles/render/attribute.cpp M intern/cycles/render/attribute.h M intern/cycles/render/camera.cpp M intern/cycles/render/camera.h M intern/cycles/render/graph.cpp M intern/cycles/render/mesh.cpp M intern/cycles/render/mesh.h M intern/cycles/render/mesh_displace.cpp D intern/cycles/render/mesh_subdivision.cpp M intern/cycles/render/nodes.cpp M intern/cycles/render/nodes.h M intern/cycles/render/object.cpp M intern/cycles/render/scene.h M intern/cycles/subd/subd_dice.cpp M intern/cycles/subd/subd_dice.h M intern/cycles/subd/subd_patch.cpp M intern/cycles/subd/subd_patch.h M intern/cycles/subd/subd_split.cpp M intern/cycles/subd/subd_split.h M intern/cycles/util/CMakeLists.txt D intern/cycles/util/util_bvh.cpp D intern/cycles/util/util_bvh.h D intern/cycles/util/util_lru.h M intern/cycles/util/util_math.h M intern/cycles/util/util_thread.h =================================================================== diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index ca708bf..01aa619 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -46,12 +46,6 @@ enum_displacement_methods = ( ('BOTH', "Both", "Combination of displacement and bump mapping"), ) -enum_subdivision_types = ( - ('NONE', "None", "No subdivision"), - ('LINEAR', "Linear", "Use linear subdivision"), - ('CATMALL_CLARK', "Catmull–Clark", "Use Catmull-Clark subdivision"), - ) - enum_bvh_types = ( ('DYNAMIC_BVH', "Dynamic BVH", "Objects can be individually updated, at the cost of slower render time"), ('STATIC_BVH', "Static BVH", "Any object modification requires a complete BVH rebuild, but renders faster"), @@ -498,12 +492,6 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): "but time can be saved by manually stopping the render when the noise is low enough)", default=False, ) - cls.geom_cache_max_size = IntProperty( - name="Geometry Cache Size", - description="Maximum size of the geometry cache in MB", - min=128, max=1024*4, - default=256, - ) cls.bake_type = EnumProperty( name="Bake Type", @@ -943,40 +931,16 @@ class CyclesMeshSettings(bpy.types.PropertyGroup): items=enum_displacement_methods, default='BUMP', ) - cls.displacement_scale = FloatProperty( - name="Displacement Scale", - description="", - min=-1000, max=1000.0, - default=1.0, - ) - cls.subdivision_type = EnumProperty( - name="Subdivision Type", - description="Type of subdivision to use", - items=enum_subdivision_types, - default='NONE', + cls.use_subdivision = BoolProperty( + name="Use Subdivision", + description="Subdivide mesh for rendering", + default=False, ) cls.dicing_rate = FloatProperty( name="Dicing Rate", - description="Width of a micropolygon in pixels", - min=0.1, max=1000.0, - default=1.0, - ) - cls.preview_dicing_rate = FloatProperty( - name="Preview Dicing Rate", - description="Width of a micropolygon in pixels during preview render", - min=0.1, max=1000.0, - default=8.0, - ) - cls.preview_displacement = BoolProperty( - name="Preview Displacement", - description="Use subdivision in preview render", - default=True, - ) - cls.max_subdivision_level = IntProperty( - name="Max Subdivision Level", description="", - min=0, max=16, - default=12, + min=0.001, max=1000.0, + default=1.0, ) @classmethod diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index cc18818..b9e51df 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -385,11 +385,6 @@ class CyclesRender_PT_performance(CyclesButtonsPanel, Panel): col.label(text="Acceleration structure:") col.prop(cscene, "debug_use_spatial_splits") - col.separator() - - col.label(text="Geometry Cache:") - col.prop(cscene, "geom_cache_max_size", text="Max Size") - class CyclesRender_PT_layer_options(CyclesButtonsPanel, Panel): bl_label = "Layer" @@ -686,27 +681,10 @@ class Cycles_PT_mesh_displacement(CyclesButtonsPanel, Panel): elif mball: cdata = mball.cycles - split = layout.split() - - col = split.column() - sub = col.column() - sub.label(text="Displacment:") - sub.prop(cdata, "displacement_method", text="") - sub.prop(cdata, "displacement_scale", text="Scale") + layout.prop(cdata, "displacement_method", text="Method") + layout.prop(cdata, "use_subdivision") + layout.prop(cdata, "dicing_rate") - col = split.column() - sub = col.column(align=True) - sub.label(text="Subdivision:") - sub.prop(cdata, "subdivision_type", text="") - - if cdata.subdivision_type != 'NONE': - sub.label(text="Subdivision Rate:") - sub.prop(cdata, "dicing_rate", text="Render") - preview_sub = sub.row(align=True) - preview_sub.prop(cdata, "preview_dicing_rate", text="Preview") - preview_sub.prop(cdata, "preview_displacement", text="", icon="RESTRICT_VIEW_OFF") - sub.separator() - sub.prop(cdata, "max_subdivision_level") class CyclesObject_PT_motion_blur(CyclesButtonsPanel, Panel): bl_label = "Motion Blur" diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp index 74acfc1..5bc9dfc 100644 --- a/intern/cycles/blender/blender_camera.cpp +++ b/intern/cycles/blender/blender_camera.cpp @@ -360,12 +360,6 @@ static void blender_camera_sync(Camera *cam, BlenderCamera *bcam, int width, int blender_camera_viewplane(bcam, width, height, &cam->viewplane, &aspectratio, &sensor_size); - cam->width = bcam->full_width; - cam->height = bcam->full_height; - - cam->widthorig = width; - cam->heightorig = height; - /* panorama sensor */ if(bcam->type == CAMERA_PANORAMA && bcam->panorama_type == PANORAMA_FISHEYE_EQUISOLID) { float fit_xratio = (float)bcam->full_width*bcam->pixelaspect.x; diff --git a/intern/cycles/blender/blender_curves.cpp b/intern/cycles/blender/blender_curves.cpp index 199270f..0178bfb 100644 --- a/intern/cycles/blender/blender_curves.cpp +++ b/intern/cycles/blender/blender_curves.cpp @@ -411,7 +411,7 @@ void ExportCurveTrianglePlanes(Mesh *mesh, ParticleCurveData *CData, } } - mesh->reserve(mesh->verts.size(), mesh->triangles.size(), 0, 0, 0); + mesh->reserve(mesh->verts.size(), mesh->triangles.size(), 0, 0); mesh->attributes.remove(ATTR_STD_VERTEX_NORMAL); mesh->attributes.remove(ATTR_STD_FACE_NORMAL); mesh->add_face_normals(); @@ -547,7 +547,7 @@ void ExportCurveTriangleGeometry(Mesh *mesh, ParticleCurveData *CData, int resol } } - mesh->reserve(mesh->verts.size(), mesh->triangles.size(), 0, 0, 0); + mesh->reserve(mesh->verts.size(), mesh->triangles.size(), 0, 0); mesh->attributes.remove(ATTR_STD_VERTEX_NORMAL); mesh->attributes.remove(ATTR_STD_FACE_NORMAL); mesh->add_face_normals(); diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index e427463..9eb4626 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -18,7 +18,6 @@ #include "mesh.h" #include "object.h" #include "scene.h" -#include "camera.h" #include "blender_sync.h" #include "blender_session.h" @@ -191,8 +190,7 @@ static void mikk_compute_tangents(BL::Mesh& b_mesh, const vector<int>& nverts, const vector<int>& face_flags, bool need_sign, - bool active_render, - bool subdivision) + bool active_render) { /* setup userdata */ MikkUserData userdata(b_mesh, b_layer, nverts.size()); @@ -217,7 +215,6 @@ static void mikk_compute_tangents(BL::Mesh& b_mesh, genTangSpaceDefault(&context); /* create tangent attributes */ - AttributeSet& mesh_attributes = subdivision? mesh->subd_attributes: mesh->attributes; Attribute *attr; ustring name; if(b_layer != NULL) @@ -226,9 +223,9 @@ static void mikk_compute_tangents(BL::Mesh& b_mesh, name = ustring("orco.tangent"); if(active_render) - attr = mesh_attributes.add(ATTR_STD_UV_TANGENT, name); + attr = mesh->attributes.add(ATTR_STD_UV_TANGENT, name); else - attr = mesh_attributes.add(name, TypeDesc::TypeVector, ATTR_ELEMENT_CORNER); + attr = mesh->attributes.add(name, TypeDesc::TypeVector, ATTR_ELEMENT_CORNER); float3 *tangent = attr->data_float3(); @@ -244,59 +241,40 @@ static void mikk_compute_tangents(BL::Mesh& b_mesh, name_sign = ustring("orco.tangent_sign"); if(active_render) - attr_sign = mesh_attributes.add(ATTR_STD_UV_TANGENT_SIGN, name_sign); + attr_sign = mesh->attributes.add(ATTR_STD_UV_TANGENT_SIGN, name_sign); else - attr_sign = mesh_attributes.add(name_sign, TypeDesc::TypeFloat, ATTR_ELEMENT_CORNER); + attr_sign = mesh->attributes.add(name_sign, TypeDesc::TypeFloat, ATTR_ELEMENT_CORNER); tangent_sign = attr_sign->data_float(); } - if(!subdivision) { - for(int i = 0; i < nverts.size(); i++) { - int tri_a[3], tri_b[3]; - face_split_tri_indices(nverts[i], face_flags[i], tri_a, tri_b); - - tangent[0] = float4_to_float3(userdata.tangent[i*4 + tri_a[0]]); - tangent[1] = float4_to_float3(userdata.tangent[i*4 + tri_a[1]]); - tangent[2] = float4_to_float3(userdata.tangent[i*4 + tri_a[2]]); - tangent += 3; + for(int i = 0; i < nverts.size(); i++) { + int tri_a[3], tri_b[3]; + face_split_tri_indices(nverts[i], face_flags[i], tri_a, tri_b); - if(tangent_sign) { - tangent_sign[0] = userdata.tangent[i*4 + tri_a[0]].w; - tangent_sign[1] = userdata.tangent[i*4 + tri_a[1]].w; - tangent_sign[2] = userdata.tangent[i*4 + tri_a[2]].w; - tangent_sign += 3; - } + tangent[0] = float4_to_float3(userdata.tangent[i*4 + tri_a[0]]); + tangent[1] = float4_to_float3(userdata.tangent[i*4 + tri_a[1]]); + tangent[2] = float4_to_float3(userdata.tangent[i*4 + tri_a[2]]); + tangent += 3; - if(nverts[i] == 4) { - tangent[0] = float4_to_float3(userdata.tangent[i*4 + tri_b[0]]); - tangent[1] = float4_to_float3(userdata.tangent[i*4 + tri_b[1]]); - tangent[2] = float4_to_float3(userdata.tangent[i*4 + tri_b[2]]); - tangent += 3; - - if(tangent_sign) { - tangent_sign[0] = userdata.tangent[i*4 + tri_b[0]].w; - @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs