diff options
Diffstat (limited to 'doc/python_api/examples/gpu.4.py')
-rw-r--r-- | doc/python_api/examples/gpu.4.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/doc/python_api/examples/gpu.4.py b/doc/python_api/examples/gpu.4.py new file mode 100644 index 00000000000..0c86b52bcf5 --- /dev/null +++ b/doc/python_api/examples/gpu.4.py @@ -0,0 +1,30 @@ +""" +Wireframe Cube using Index Buffer +--------------------------------- +""" +import bpy +import gpu +from gpu_extras.batch import batch_for_shader + +coords = ( + (-1, -1, -1), (+1, -1, -1), + (-1, +1, -1), (+1, +1, -1), + (-1, -1, +1), (+1, -1, +1), + (-1, +1, +1), (+1, +1, +1)) + +indices = ( + (0, 1), (0, 2), (1, 3), (2, 3), + (4, 5), (4, 6), (5, 7), (6, 7), + (0, 4), (1, 5), (2, 6), (3, 7)) + +shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR') +batch = batch_for_shader(shader, 'LINES', {"pos": coords}, indices=indices) + + +def draw(): + shader.bind() + shader.uniform_float("color", (1, 0, 0, 1)) + batch.draw(shader) + + +bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW') |