pyglet.graphics.shader¶
-
exception
ShaderException
¶
-
class
Attribute
(name, location, count, gl_type, normalize)¶ Abstract accessor for an attribute in a mapped buffer.
-
enable
()¶ Enable the attribute.
-
get_region
(buffer, start, count)¶ Map a buffer region using this attribute as an accessor.
The returned region consists of a contiguous array of component data elements. For example, if this attribute uses 3 floats per vertex, and the count parameter is 4, the number of floats mapped will be
3 * 4 = 12
.Parameters: - buffer : AbstractMappable
The buffer to map.
- start : int
Offset of the first vertex to map.
- count : int
Number of vertices to map
Return type: AbstractBufferRegion
-
set_pointer
(ptr)¶ Setup this attribute to point to the currently bound buffer at the given offset.
offset
should be based on the currently bound buffer’sptr
member.Parameters: - offset : int
Pointer offset to the currently bound buffer for this attribute.
-
set_region
(buffer, start, count, data)¶ Set the data over a region of the buffer.
Parameters: - buffer : AbstractMappable`
The buffer to modify.
- start : int
Offset of the first vertex to set.
- count : int
Number of vertices to set.
data : A sequence of data components.
-
-
class
ComputeShaderProgram
(source: str)¶ OpenGL Compute Shader Program
-
bind
() → None¶
-
static
dispatch
(x: int = 1, y: int = 1, z: int = 1, barrier: int = 4294967295) → None¶ Launch one or more compute work groups.
The ComputeShaderProgram should be active (bound) before calling this method. The x, y, and z parameters specify the number of local work groups that will be dispatched in the X, Y and Z dimensions.
-
static
stop
()¶
-
static
unbind
()¶
-
use
() → None¶
-
id
¶
-
limits
¶
-
uniform_blocks
¶
-
uniforms
¶
-
-
class
Shader
(source_string: str, shader_type: str)¶ OpenGL shader.
Shader objects are compiled on instantiation. You can reuse a Shader object in multiple ShaderPrograms.
shader_type is one of
'compute'
,'fragment'
,'geometry'
,'tesscontrol'
,'tessevaluation'
, or'vertex'
.-
id
¶
-
-
class
ShaderProgram
(*shaders)¶ OpenGL shader program.
-
bind
()¶
-
static
stop
()¶
-
static
unbind
()¶
-
use
()¶
-
vertex_list
(count, mode, batch=None, group=None, **data)¶ Create a VertexList.
Parameters: - count : int
The number of vertices in the list.
- mode : int
OpenGL drawing mode enumeration; for example, one of
GL_POINTS
,GL_LINES
,GL_TRIANGLES
, etc. This determines how the list is drawn in the given batch.- batch : ~pyglet.graphics.Batch
Batch to add the VertexList to, or
None
if a Batch will not be used. Using a Batch is strongly recommended.- group : ~pyglet.graphics.Group
Group to add the VertexList to, or
None
if no group is required.- **data : str or tuple
Attribute formats and initial data for the vertex list.
Return type:
-
vertex_list_indexed
(count, mode, indices, batch=None, group=None, **data)¶ Create a IndexedVertexList.
Parameters: - count : int
The number of vertices in the list.
- mode : int
OpenGL drawing mode enumeration; for example, one of
GL_POINTS
,GL_LINES
,GL_TRIANGLES
, etc. This determines how the list is drawn in the given batch.- indices : sequence of int
Sequence of integers giving indices into the vertex list.
- batch : ~pyglet.graphics.Batch
Batch to add the VertexList to, or
None
if a Batch will not be used. Using a Batch is strongly recommended.- group : ~pyglet.graphics.Group
Group to add the VertexList to, or
None
if no group is required.- **data : str or tuple
Attribute formats and initial data for the vertex list.
Return type:
-
attributes
¶
-
id
¶
-
uniform_blocks
¶
-
uniforms
¶
-
-
class
ShaderSource
(source: str, source_type: ctypes.c_uint)¶ GLSL source container for making source parsing simpler.
We support locating out attributes and applying #defines values.
NOTE: We do assume the source is neat enough to be parsed this way and don’t contain several statements in one line.
-
validate
() → str¶ Return the validated shader source.
-
-
class
UniformBlock
(program, name, index, size, uniforms)¶ -
create_ubo
(index=0)¶ Create a new UniformBufferObject from this uniform block.
Parameters: - index : int
The uniform buffer index the returned UBO will bind itself to. By default, this is 0.
Return type:
-
index
¶
-
name
¶
-
program
¶
-
size
¶
-
uniforms
¶
-
view_cls
¶
-