[Bf-blender-cvs] [37a2a3c] master: Fix RenderEngine API docs

Campbell Barton noreply at git.blender.org
Mon Feb 8 10:43:52 CET 2016


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()




More information about the Bf-blender-cvs mailing list