From 2e52b3206cc6a108e2b832c0a5c38684402565ea Mon Sep 17 00:00:00 2001 From: Aaron Carlisle Date: Tue, 2 Jun 2020 18:20:15 -0400 Subject: PyDoc: Fix warnings from out of bounds include statement --- doc/python_api/examples/gpu.2.py | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) (limited to 'doc/python_api/examples/gpu.2.py') diff --git a/doc/python_api/examples/gpu.2.py b/doc/python_api/examples/gpu.2.py index d1e8ac32589..4bee9acebe3 100644 --- a/doc/python_api/examples/gpu.2.py +++ b/doc/python_api/examples/gpu.2.py @@ -1,19 +1,45 @@ """ -3D Lines with Single Color --------------------------- +Triangle with Custom Shader +--------------------------- """ import bpy import gpu from gpu_extras.batch import batch_for_shader -coords = [(1, 1, 1), (-2, 0, 0), (-2, -1, 3), (0, 1, 1)] -shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR') -batch = batch_for_shader(shader, 'LINES', {"pos": coords}) +vertex_shader = ''' + uniform mat4 viewProjectionMatrix; + + in vec3 position; + out vec3 pos; + + void main() + { + pos = position; + gl_Position = viewProjectionMatrix * vec4(position, 1.0f); + } +''' + +fragment_shader = ''' + uniform float brightness; + + in vec3 pos; + + void main() + { + gl_FragColor = vec4(pos * brightness, 1.0); + } +''' + +coords = [(1, 1, 1), (2, 0, 0), (-2, -1, 3)] +shader = gpu.types.GPUShader(vertex_shader, fragment_shader) +batch = batch_for_shader(shader, 'TRIS', {"position": coords}) def draw(): shader.bind() - shader.uniform_float("color", (1, 1, 0, 1)) + matrix = bpy.context.region_data.perspective_matrix + shader.uniform_float("viewProjectionMatrix", matrix) + shader.uniform_float("brightness", 0.5) batch.draw(shader) -- cgit v1.2.3