[Bf-blender-cvs] [b1b799e] temp-cycles-microdisplacement: Merge branch 'master' into microdisp
Mai Lavelle
noreply at git.blender.org
Mon Apr 18 15:07:39 CEST 2016
Commit: b1b799e97c5617d8533cabd721471b045f08f848
Author: Mai Lavelle
Date: Mon Apr 18 08:41:10 2016 -0400
Branches: temp-cycles-microdisplacement
https://developer.blender.org/rBb1b799e97c5617d8533cabd721471b045f08f848
Merge branch 'master' into microdisp
===================================================================
===================================================================
diff --cc intern/cycles/blender/addon/ui.py
index c4d3244,afad3b8..ba7ed61
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@@ -700,13 -711,7 +717,9 @@@ class Cycles_PT_mesh_displacement(Cycle
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.prop(cdata, "dicing_rate")
+ sub.separator()
+ sub.prop(cdata, "max_subdivision_level")
class CyclesObject_PT_motion_blur(CyclesButtonsPanel, Panel):
bl_label = "Motion Blur"
diff --cc intern/cycles/blender/blender_mesh.cpp
index 24e6ba8,ba0ba78..cb8a362
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@@ -717,14 -661,13 +717,14 @@@ static void create_subd_mesh(Scene *sce
BL::Mesh& b_mesh,
PointerRNA *cmesh,
const vector<uint>& used_shaders,
- bool preview)
+ float dicing_rate)
{
- Mesh basemesh;
- create_mesh(scene, &basemesh, b_mesh, used_shaders);
+ mesh->subdivision_type = (Mesh::SubdivisionType)RNA_enum_get(cmesh, "subdivision_type");
+ create_mesh(scene, mesh, b_mesh, used_shaders, true);
- SubdParams sdparams(mesh, used_shaders[0], true, false);
+ SubdParams sdparams;
- sdparams.dicing_rate = preview ? RNA_float_get(cmesh, "preview_dicing_rate") : RNA_float_get(cmesh, "dicing_rate");
+ sdparams.dicing_rate = max(0.1f, RNA_float_get(cmesh, "dicing_rate") * dicing_rate);
+ sdparams.max_level = RNA_int_get(cmesh, "max_subdivision_level");
scene->camera->update();
sdparams.camera = scene->camera;
@@@ -842,13 -783,8 +842,10 @@@ Mesh *BlenderSync::sync_mesh(BL::Object
if(b_mesh) {
if(render_layer.use_surfaces && !hide_tris) {
- if(cmesh.data && experimental && RNA_enum_get(&cmesh, "subdivision_type"))
+ mesh->displacement_scale = RNA_float_get(&cmesh, "displacement_scale");
+
- if(cmesh.data && is_cpu && experimental && RNA_enum_get(&cmesh, "subdivision_type") &&
- (!preview || RNA_boolean_get(&cmesh, "preview_displacement")))
- {
- create_subd_mesh(scene, mesh, b_ob, b_mesh, &cmesh, used_shaders, preview);
- }
++ if(cmesh.data && is_cpu && experimental && RNA_enum_get(&cmesh, "subdivision_type"))
+ create_subd_mesh(scene, mesh, b_ob, b_mesh, &cmesh, used_shaders, dicing_rate);
else
create_mesh(scene, mesh, b_mesh, used_shaders);
More information about the Bf-blender-cvs
mailing list