[Bf-blender-cvs] [3aa30406dd0] blender2.8: Py API Docs: New Example for off screen rendering

Jacques Lucke noreply at git.blender.org
Tue Nov 13 16:38:19 CET 2018


Commit: 3aa30406dd0f862f8360741ff77118505aa93302
Author: Jacques Lucke
Date:   Tue Nov 13 16:38:12 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB3aa30406dd0f862f8360741ff77118505aa93302

Py API Docs: New Example for off screen rendering

===================================================================

A	doc/python_api/examples/gpu.10.py

===================================================================

diff --git a/doc/python_api/examples/gpu.10.py b/doc/python_api/examples/gpu.10.py
new file mode 100644
index 00000000000..aa5574c44bb
--- /dev/null
+++ b/doc/python_api/examples/gpu.10.py
@@ -0,0 +1,38 @@
+"""
+Rendering the 3D View into a Texture
+------------------------------------
+
+The scene has to have a camera for this example to work.
+You could also make this independent of a specific camera, but Blender does not expose good functions to create view and projection matrices yet.
+"""
+import bpy
+import bgl
+import gpu
+from gpu_extras.presets import draw_texture_2d
+
+WIDTH = 512
+HEIGHT = 256
+
+offscreen = gpu.types.GPUOffScreen(WIDTH, HEIGHT)
+
+def draw():
+    context = bpy.context
+    scene = context.scene
+
+    view_matrix = scene.camera.matrix_world.inverted()
+
+    projection_matrix = scene.camera.calc_matrix_camera(
+        context.depsgraph, x=WIDTH, y=HEIGHT)
+
+    offscreen.draw_view3d(
+        scene,
+        context.view_layer,
+        context.space_data,
+        context.region,
+        view_matrix,
+        projection_matrix)
+
+    bgl.glDisable(bgl.GL_DEPTH_TEST)
+    draw_texture_2d(offscreen.color_texture, (10, 10), WIDTH, HEIGHT)
+
+bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')
\ No newline at end of file



More information about the Bf-blender-cvs mailing list