GPU Shader (gpu.shader)

This module provides access to GPUShader internal functions.

Built-in shaders

All built-in shaders have the mat4 ModelViewProjectionMatrix uniform. The value of it can only be modified using the gpu.matrix module.

2D_UNIFORM_COLOR:

attributes: vec3 pos uniforms: vec4 color

2D_FLAT_COLOR:

attributes: vec3 pos, vec4 color uniforms: -

2D_SMOOTH_COLOR:

attributes: vec3 pos, vec4 color uniforms: -

2D_IMAGE:

attributes: vec3 pos, vec2 texCoord uniforms: sampler2D image

3D_UNIFORM_COLOR:

attributes: vec3 pos uniforms: vec4 color

3D_FLAT_COLOR:

attributes: vec3 pos, vec4 color uniforms: -

3D_SMOOTH_COLOR:

attributes: vec3 pos, vec4 color uniforms: -

gpu.shader.code_from_builtin(shader_name)

Exposes the internal shader code for query.

Parameters

shader_name (str) – One of these builtin shader names: { ‘2D_UNIFORM_COLOR’, ‘2D_FLAT_COLOR’, ‘2D_SMOOTH_COLOR’, ‘2D_IMAGE’, ‘3D_UNIFORM_COLOR’, ‘3D_FLAT_COLOR’, ‘3D_SMOOTH_COLOR’}

Returns

Vertex, fragment and geometry shader codes.

Return type

dict

gpu.shader.from_builtin(shader_name)

Shaders that are embedded in the blender internal code. They all read the uniform ‘mat4 ModelViewProjectionMatrix’, which can be edited by the ‘gpu.matrix’ module. For more details, you can check the shader code with the function ‘gpu.shader.code_from_builtin’;

Parameters

shader_name (str) – One of these builtin shader names: { ‘2D_UNIFORM_COLOR’, ‘2D_FLAT_COLOR’, ‘2D_SMOOTH_COLOR’, ‘2D_IMAGE’, ‘3D_UNIFORM_COLOR’, ‘3D_FLAT_COLOR’, ‘3D_SMOOTH_COLOR’}

Returns

Shader object corresponding to the given name.

Return type

bpy.types.GPUShader

gpu.shader.unbind()

Unbind the bound shader object.