[Bf-blender-cvs] [f7029f8] temp-cycles-microdisplacement: Add preview dice rate for displacement
Mai Lavelle
noreply at git.blender.org
Tue Apr 12 18:45:42 CEST 2016
Commit: f7029f8d86131ca2bb92dffaac5f1bae9701db1b
Author: Mai Lavelle
Date: Tue Dec 1 08:18:03 2015 -0500
Branches: temp-cycles-microdisplacement
https://developer.blender.org/rBf7029f8d86131ca2bb92dffaac5f1bae9701db1b
Add preview dice rate for displacement
===================================================================
M intern/cycles/blender/addon/properties.py
M intern/cycles/blender/addon/ui.py
M intern/cycles/blender/blender_mesh.cpp
===================================================================
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index 563c470..7bb757c 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -949,6 +949,17 @@ class CyclesMeshSettings(bpy.types.PropertyGroup):
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,
+ )
@classmethod
def unregister(cls):
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index f4b49ba..0689f5b 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -696,6 +696,9 @@ class Cycles_PT_mesh_displacement(CyclesButtonsPanel, Panel):
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")
class CyclesObject_PT_motion_blur(CyclesButtonsPanel, Panel):
bl_label = "Motion Blur"
diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp
index 52bf011..7554e3f 100644
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@ -660,13 +660,14 @@ static void create_subd_mesh(Scene *scene,
BL::Object b_ob,
BL::Mesh& b_mesh,
PointerRNA *cmesh,
- const vector<uint>& used_shaders)
+ const vector<uint>& used_shaders,
+ bool preview)
{
Mesh *basemesh = new Mesh();
create_mesh(scene, basemesh, b_mesh, used_shaders);
SubdParams sdparams(mesh, used_shaders[0], true, false);
- sdparams.dicing_rate = RNA_float_get(cmesh, "dicing_rate");
+ sdparams.dicing_rate = preview ? RNA_float_get(cmesh, "preview_dicing_rate") : RNA_float_get(cmesh, "dicing_rate");
scene->camera->update();
sdparams.camera = scene->camera;
@@ -784,8 +785,11 @@ Mesh *BlenderSync::sync_mesh(BL::Object& b_ob,
if(b_mesh) {
if(render_layer.use_surfaces && !hide_tris) {
- if(cmesh.data && experimental && RNA_enum_get(&cmesh, "subdivision_type") != 0)
- create_subd_mesh(scene, mesh, b_ob, b_mesh, &cmesh, used_shaders);
+ if(cmesh.data && experimental && RNA_enum_get(&cmesh, "subdivision_type") != 0 &&
+ (!preview || RNA_boolean_get(&cmesh, "preview_displacement")))
+ {
+ create_subd_mesh(scene, mesh, b_ob, b_mesh, &cmesh, used_shaders, preview);
+ }
else
create_mesh(scene, mesh, b_mesh, used_shaders);
More information about the Bf-blender-cvs
mailing list