Commit: 37a2a3c8dcf800ba87cbf82f374ceda1c01ebde2
Author: Campbell Barton
Date: Mon Feb 8 20:08:21 2016 +1100
Branches: master
https://developer.blender.org/rB37a2a3c8dcf800ba87cbf82f374ceda1c01ebde2
Fix RenderEngine API docs
Correct access to passes, D1779 by @levon.
Also use is_preview attr and use register/unregister functions.
===================================================================
M doc/python_api/examples/bpy.types.RenderEngine.py
===================================================================
diff --git a/doc/python_api/examples/bpy.types.RenderEngine.py
b/doc/python_api/examples/bpy.types.RenderEngine.py
index 7af7de1..efb7640 100644
--- a/doc/python_api/examples/bpy.types.RenderEngine.py
+++ b/doc/python_api/examples/bpy.types.RenderEngine.py
@@ -9,8 +9,8 @@ import bpy
class CustomRenderEngine(bpy.types.RenderEngine):
# These three members are used by blender to set up the
# RenderEngine; define its internal name, visible name and capabilities.
- bl_idname = 'custom_renderer'
- bl_label = 'Flat Color Renderer'
+ bl_idname = "custom_renderer"
+ bl_label = "Flat Color Renderer"
bl_use_preview = True
# This is the only method called by blender, in this example
@@ -21,7 +21,7 @@ class CustomRenderEngine(bpy.types.RenderEngine):
self.size_x = int(scene.render.resolution_x * scale)
self.size_y = int(scene.render.resolution_y * scale)
- if scene.name == 'preview':
+ if self.is_preview:
self.render_preview(scene)
else:
self.render_scene(scene)
@@ -36,7 +36,7 @@ class CustomRenderEngine(bpy.types.RenderEngine):
# Here we write the pixel values to the RenderResult
result = self.begin_result(0, 0, self.size_x, self.size_y)
- layer = result.layers[0]
+ layer = result.layers[0].passes["Combined"]
layer.rect = green_rect
self.end_result(result)
@@ -50,21 +50,37 @@ class CustomRenderEngine(bpy.types.RenderEngine):
# Here we write the pixel values to the RenderResult
result = self.begin_result(0, 0, self.size_x, self.size_y)
- layer = result.layers[0]
+ layer = result.layers[0].passes["Combined"]
layer.rect = blue_rect
self.end_result(result)
-# Register the RenderEngine
-bpy.utils.register_class(CustomRenderEngine)
-# RenderEngines also need to tell UI Panels that they are compatible
-# Otherwise most of the UI will be empty when the engine is selected.
-# In this example, we need to see the main render image button and
-# the material preview panel.
-from bl_ui import properties_render
-properties_render.RENDER_PT_render.COMPAT_ENGINES.add('custom_renderer')
-del properties_render
+def register():
+ # Register the RenderEngine
+ bpy.utils.register_class(CustomRenderEngine)
-from bl_ui import properties_material
-properties_material.MATERIAL_PT_preview.COMPAT_ENGINES.add('custom_renderer')
-del properties_material
+ # RenderEngines also need to tell UI Panels that they are compatible
+ # Otherwise most of the UI will be empty when the engine is selected.
+ # In this example, we need to see the main render image button and
+ # the material preview panel.
+ from bl_ui import (
+ properties_render,
+ properties_material,
+ )
+
properties_render.RENDER_PT_render.COMPAT_ENGINES.add(CustomRenderEngine.bl_idname)
+
properties_material.MATERIAL_PT_preview.COMPAT_ENGINES.add(CustomRenderEngine.bl_idname)
+
+
+def unregister():
+ bpy.utils.unregister_class(CustomRenderEngine)
+
+ from bl_ui import (
+ properties_render,
+ properties_material,
+ )
+
properties_render.RENDER_PT_render.COMPAT_ENGINES.remove(CustomRenderEngine.bl_idname)
+
properties_material.MATERIAL_PT_preview.COMPAT_ENGINES.remove(CustomRenderEngine.bl_idname)
+
+
+if __name__ == "__main__":
+ register()
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs