Commit: 7610395cbc4c4395bb668e14ff971809c01a80e6 Author: Stefan Werner Date: Fri Jul 6 16:36:27 2018 +0200 Branches: temp_cryptomatte https://developer.blender.org/rB7610395cbc4c4395bb668e14ff971809c01a80e6
Cleanup: Removed unrelated AOV code, made Cryptomatte work with OpenCL =================================================================== M intern/cycles/blender/addon/engine.py M intern/cycles/blender/addon/properties.py M intern/cycles/blender/addon/ui.py M intern/cycles/blender/blender_shader.cpp M intern/cycles/blender/blender_sync.cpp M intern/cycles/kernel/CMakeLists.txt M intern/cycles/kernel/kernel_passes.h M intern/cycles/kernel/svm/svm.h M intern/cycles/kernel/svm/svm_types.h M intern/cycles/render/graph.cpp M intern/cycles/render/graph.h M intern/cycles/render/nodes.cpp M intern/cycles/render/nodes.h M intern/cycles/render/svm.cpp M intern/cycles/render/svm.h M source/blender/blenkernel/BKE_node.h M source/blender/blenkernel/intern/node.c M source/blender/editors/space_node/drawnode.c M source/blender/makesdna/DNA_node_types.h M source/blender/makesrna/intern/rna_nodetree.c M source/blender/nodes/CMakeLists.txt M source/blender/nodes/NOD_shader.h M source/blender/nodes/NOD_static_types.h M source/blender/nodes/shader/nodes/node_shader_aov_output.c =================================================================== diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py index 0b550faae34..28fd833e296 100644 --- a/intern/cycles/blender/addon/engine.py +++ b/intern/cycles/blender/addon/engine.py @@ -252,12 +252,6 @@ def register_passes(engine, scene, srl): engine.register_pass(scene, srl, "Denoising Image", 3, "RGB", 'COLOR') engine.register_pass(scene, srl, "Denoising Image Variance", 3, "RGB", 'COLOR') - for aov in crl.aovs: - if(aov.type == 'COLOR'): - engine.register_pass(scene, srl, aov.name, 3, "RGB", 'COLOR') - else: - engine.register_pass(scene, srl, aov.name, 1, "X", 'VALUE') - if(crl.use_pass_crypto_object): for i in range(0, crl.pass_crypto_depth, 2): engine.register_pass(scene, srl, "AOV uCryptoObject" + '{:02d}'.format(i), 4, "RGBA", 'COLOR') diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 71068bda6c4..c5bf6daf83f 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -140,11 +140,6 @@ enum_texture_limit = ( ('8192', "8192", "Limit texture size to 8192 pixels", 7), ) -enum_aov_types = ( - ('VALUE', "Value", "Write a Value pass", 0), - ('COLOR', "Color", "Write a color pass", 1), - ) - class CyclesRenderSettings(bpy.types.PropertyGroup): @classmethod def register(cls): @@ -1162,12 +1157,6 @@ def update_render_passes(self, context): rl = rd.layers.active rl.update_render_passes() -class CyclesAOVSettings(bpy.types.PropertyGroup): - @classmethod - def register(cls): - cls.name = StringProperty(name="Name", update=update_render_passes) - cls.type = EnumProperty(name="Type", update=update_render_passes, items=enum_aov_types, default='COLOR') - def update_render_passes(self, context): scene = context.scene rd = scene.render @@ -1281,8 +1270,6 @@ class CyclesRenderLayerSettings(bpy.types.PropertyGroup): default=False, update=update_render_passes, ) - cls.aovs = bpy.props.CollectionProperty(type=CyclesAOVSettings) - cls.active_aov = IntProperty(default=0) cls.use_pass_crypto_object = BoolProperty( name="CryptoMatte Object", description="CryptoMatte Object pass", @@ -1486,7 +1473,6 @@ def register(): bpy.utils.register_class(CyclesCurveSettings) bpy.utils.register_class(CyclesDeviceSettings) bpy.utils.register_class(CyclesPreferences) - bpy.utils.register_class(CyclesAOVSettings) bpy.utils.register_class(CyclesRenderLayerSettings) @@ -1503,5 +1489,4 @@ def unregister(): bpy.utils.unregister_class(CyclesCurveSettings) bpy.utils.unregister_class(CyclesDeviceSettings) bpy.utils.unregister_class(CyclesPreferences) - bpy.utils.unregister_class(CyclesAOVSettings) bpy.utils.unregister_class(CyclesRenderLayerSettings) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index b477acb9d5e..25b0b9b7856 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -428,52 +428,6 @@ class CYCLES_RENDER_PT_performance(CyclesButtonsPanel, Panel): row.active = not cscene.debug_use_spatial_splits row.prop(cscene, "debug_bvh_time_steps") -class CyclesRender_AOV_add(bpy.types.Operator): - """Add an AOV pass""" - bl_idname="scenerenderlayer.aov_add" - bl_label="Add AOV" - - def execute(self, context): - scene = context.scene - rd = scene.render - rl = rd.layers.active - crl = rl.cycles - - crl.aovs.add() - - rl.update_render_passes() - return {'FINISHED'} - -class CyclesRender_AOV_delete(bpy.types.Operator): - """Delete an AOV pass""" - bl_idname="scenerenderlayer.aov_delete" - bl_label="Delete AOV" - - def execute(self, context): - scene = context.scene - rd = scene.render - rl = rd.layers.active - crl = rl.cycles - - crl.aovs.remove(crl.active_aov) - - rl.update_render_passes() - return {'FINISHED'} - -class CyclesAOVList(bpy.types.UIList): - def draw_item(self, context, layout, data, item, icon, active_data, active_propname): - row = layout.row() - row.label("", icon='RENDER_RESULT') - split = row.split(percentage=0.65, align=True) - split.prop(item, "name", text="") - split.prop(item, "type", text="") - col = layout.column() - col.label(text="Viewport Resolution:") - split = col.split() - split.prop(rd, "preview_pixel_size", text="") - split.prop(cscene, "preview_start_resolution") - - class CYCLES_RENDER_PT_layer_options(CyclesButtonsPanel, Panel): bl_label = "Layer" bl_context = "render_layer" @@ -595,14 +549,6 @@ class CYCLES_RENDER_PT_layer_passes(CyclesButtonsPanel, Panel): row = layout.row(align=True) row.prop(crl, "pass_crypto_depth") - layout.label("AOVs:") - row = layout.row() - row.template_list("CyclesAOVList", "", crl, "aovs", crl, "active_aov") - sub = row.column(align=True) - sub.operator("scenerenderlayer.aov_add", icon='ZOOMIN', text="") - sub.operator("scenerenderlayer.aov_delete", icon='ZOOMOUT', text="") - - class CYCLES_RENDER_PT_views(CyclesButtonsPanel, Panel): bl_label = "Views" bl_context = "render_layer" diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index a48039fb15f..cd6c9f319db 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -825,12 +825,6 @@ static ShaderNode *add_node(Scene *scene, uvm->from_dupli = b_uvmap_node.from_dupli(); node = uvm; } - else if(b_node.is_a(&RNA_ShaderNodeAOVOutput)) { - BL::ShaderNodeAOVOutput b_aovout_node(b_node); - AOVOutputNode *aov = new AOVOutputNode(); - aov->name = ustring(b_aovout_node.aov()); - node = aov; - } else if(b_node.is_a(&RNA_ShaderNodeTexPointDensity)) { BL::ShaderNodeTexPointDensity b_point_density_node(b_node); PointDensityTextureNode *point_density = new PointDensityTextureNode(); diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 635bedf69f0..b53f1b06f10 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -567,9 +567,6 @@ void BlenderSync::sync_film(BL::RenderLayer& b_rlay, if(pass_type != PASS_NONE) passes.add(pass_type); } - - /* make Crypto passes appear before user defined AOVs - * that way, their indices are known */ int crypto_depth = std::min(16, get_int(crp, "pass_crypto_depth")) / 2; scene->film->use_cryptomatte = crypto_depth; @@ -609,15 +606,6 @@ void BlenderSync::sync_film(BL::RenderLayer& b_rlay, if(get_boolean(crp, "pass_crypto_accurate")) { scene->film->use_cryptomatte |= CRYPT_ACCURATE; } - - RNA_BEGIN(&crp, b_aov, "aovs") { - bool is_color = RNA_enum_get(&b_aov, "type"); - string name = get_string(b_aov, "name"); - AOV aov = {ustring(name), 9999, is_color ? AOV_RGB : AOV_FLOAT}; - passes.add(aov); - string passname = string_printf("AOV %s", name.c_str()); - b_engine.add_pass(passname.c_str(), is_color? 3: 1, is_color? "RGB": "X", b_srlay.name().c_str(), 0); - } RNA_END PointerRNA crp = RNA_pointer_get(&b_srlay.ptr, "cycles"); if(get_boolean(crp, "denoising_store_passes") && diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 10251cfc7a6..bd51bc4d371 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -160,7 +160,6 @@ set(SRC_CLOSURE_HEADERS set(SRC_SVM_HEADERS svm/svm.h svm/svm_attribute.h - svm/svm_aov.h svm/svm_blackbody.h svm/svm_bump.h svm/svm_camera.h diff --git a/intern/cycles/kernel/kernel_passes.h b/intern/cycles/kernel/kernel_passes.h index 5df00923efc..584bf94cd37 100644 --- a/intern/cycles/kernel/kernel_passes.h +++ b/intern/cycles/kernel/kernel_passes.h @@ -81,8 +81,8 @@ ccl_device_inline void kernel_write_id_slots(ccl_global float *buffer, int num_s } for(int slot = 0; slot < num_slots; slot++) { - float *slot_id = (&buffer[slot*ID_SLOT_SIZE + 0]); - float *slot_weight = &buffer[slot*ID_SLOT_SIZE + 1]; + ccl_global float *slot_id = (&buffer[slot*ID_SLOT_SIZE + 0]); + ccl_global float *slot_weight = &buffer[slot*ID_SLOT_SIZE + 1]; /* If the loop reaches an empty slot, the ID isn't in any slot yet - so add it! */ if(*slot_weight == 0.0f) { diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 20907436be1..01ca705d808 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -182,7 +182,6 @@ CCL_NAMESPACE_END #include "kernel/svm/svm_vector_transform.h" #include "kernel/svm/svm_voxel.h" #include "kernel/svm/svm_bump.h" -#include "kernel/svm/svm_aov.h" CCL_NAMESPACE_BEGIN @@ -460,17 +459,6 @@ ccl_device_noinline void svm_eval_nodes(KernelGlobals *kg, case NODE_BLACKBODY: svm_node_blackbody(kg, sd, stack, node.y, node.z); break; - case NODE_AOV_WRITE_FLOAT3: - svm_node_aov_write_float3(kg, state, stack, node.y, node.z, buffer); - break; - case NODE_AOV_WRITE_FLOAT: - svm_node_aov_write_float(kg, state, stack, node.y, node.z, buffer); - break; - case NODE_END_IF_NO_AOVS: - if(state->written_aovs == ~0) { - return; - } - break; # endif /* __EXTRA_NODES__ */ # if NODES_FEATURE(NODE_FEATURE_VOLUME) case NODE_TEX_VOXEL: diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h index 3254f1b55b4..7fb82bc502a 100644 --- a/intern/cycles/kernel/svm/svm_types.h +++ b/intern/cycles/kernel/svm/svm_types.h @@ -132,9 +132,6 @@ typedef enum ShaderNodeType { NODE_TEX_VOXEL, NODE_ENTER_BUMP_EVAL, NODE_LEAVE_BUMP_EVAL, - NODE_END_IF_NO_AOVS, - NODE_AOV_WRITE_FLOAT, - NODE_AOV_WRITE_FLOAT3, } ShaderNodeType; typedef enum NodeAttributeType { diff --git a/intern/cycles/render/graph.cpp b/intern/cycles/render/graph.cpp index aa7aa6fbc @@ 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