[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