pyglet.graphics.shader
- exception ShaderException
- class Attribute(name, location, count, gl_type, normalize)
映射缓冲区中属性的抽象访问器。
- enable()
启用该属性。
- get_region(buffer, start, count)
使用此属性作为访问器映射缓冲区。
返回的区域由组件数据元素的连续数组组成。例如,如果此属性对每个顶点使用3个浮点数,而 count 参数为4,则映射的浮点数将为
3 * 4 = 12
。- 参数:
- bufferAttributeBufferObject
要映射的缓冲区。
- start集成
要映射的第一个顶点的偏移。
- count集成
要映射的顶点数
- set_pointer(ptr)
将此属性设置为指向给定偏移量处的当前绑定缓冲区。
offset
应基于当前绑定的缓冲区的ptr
成员。- 参数:
- offset集成
指向此属性的当前绑定缓冲区的指针偏移量。
- set_region(buffer, start, count, data)
将数据设置在缓冲区的一个区域上。
- 参数:
- buffer摘要可映射`
要修改的缓冲区。
- start集成
要设置的第一个顶点的偏移量。
- count集成
要设置的顶点数。
- data序列号
数据组件的序列。
- class ComputeShaderProgram(source: str)
OpenGL计算着色器程序
- delete()
- static dispatch(x: int = 1, y: int = 1, z: int = 1, barrier: int = 4294967295) None
启动一个或多个计算工作组。
在调用此方法之前,ComputeShaderProgram应处于活动(绑定)状态。X、y和z参数指定将在X、Y和Z维度上调度的本地工作组的数量。
- static stop()
- static unbind()
- property uniforms
- class Shader(source_string: str, shader_type: str)
OpenGL着色器。
着色器对象在实例化时编译。可以在多个ShaderProgram中重复使用一个Shader对象。
shader_type 是其中之一
'compute'
,'fragment'
,'geometry'
,'tesscontrol'
,'tessevaluation'
,或'vertex'
。- delete()
- property id
- class ShaderProgram(*shaders: Shader)
OpenGL着色器程序。
- bind()
- delete()
- static stop()
- static unbind()
- use()
- vertex_list(count, mode, batch=None, group=None, **data)
创建顶点列表。
- 参数:
- count集成
列表中的顶点数。
- mode集成
OpenGL绘图模式枚举;例如,
GL_POINTS
,GL_LINES
,GL_TRIANGLES
等等。这决定了如何在给定批次中绘制列表。- batch~pyglet.graphics.Batch
要将顶点列表添加到的批处理,或
None
如果将不使用批次。强烈建议使用批处理。- group~pyglet.graphics.Group
要将顶点列表添加到的组,或
None
如果不需要任何组,则。- **data字符串或元组
顶点列表的属性格式和初始数据。
- 返回类型:
- vertex_list_indexed(count, mode, indices, batch=None, group=None, **data)
创建IndexedVertex List。
- 参数:
- count集成
列表中的顶点数。
- mode集成
OpenGL绘图模式枚举;例如,
GL_POINTS
,GL_LINES
,GL_TRIANGLES
等等。这决定了如何在给定批次中绘制列表。- indices整型序列
给出顶点列表索引的整数序列。
- batch~pyglet.graphics.Batch
要将顶点列表添加到的批处理,或
None
如果将不使用批次。强烈建议使用批处理。- group~pyglet.graphics.Group
要将顶点列表添加到的组,或
None
如果不需要任何组,则。- **data字符串或元组
顶点列表的属性格式和初始数据。
- 返回类型:
- property id
- property uniform_blocks: dict
一本自省的统一块词典
此属性返回
UniformBlock
实例。可以通过名称访问它们。例如::block = my_shader_program.uniform_blocks['WindowBlock'] ubo = block.create_ubo()
- class ShaderSource(source: str, source_type: c_uint)
用于简化源代码解析的GLSL源代码容器。
我们支持定位属性和应用#Defines值。
注意:我们确实假设源代码足够整洁,可以用这种方式进行解析,并且不会在一行中包含多个语句。