计算着色器#

class arcade.gl.ComputeShader(ctx: Context, glsl_source: str)[源代码]#

基类:

OpenGL计算着色器的更高级别包装。

glo#

OpenGL资源的名称/ID

use()[源代码]#

使用/激活计算着色器。

备注

在正常用例中,这不是必须调用的,因为 run() 已经为您做到了这一点。

run(group_x=1, group_y=1, group_z=1) None[源代码]#

运行计算着色器。

在运行计算着色器时,我们指定应在 xyz 尺寸。工作组的大小在计算着色器中定义。

// Work group with one dimension. 16 work groups executed.
layout(local_size_x=16) in;
// Work group with two dimensions. 256 work groups executed.
layout(local_size_x=16, local_size_y=16) in;
// Work group with three dimensions. 4096 work groups executed.
layout(local_size_x=16, local_size_y=16, local_size_z=16) in;

组大小为 1 默认情况下。如果计算着色器未指定维度大小或使用 1 至于大小,您不必提供此参数。

参数:
  • group_x -- 要在X维度中启动的工作组的数量。

  • group_y -- 要在y维度中启动的工作组的数量。

  • group_z -- 要在z维度中启动的工作组的数量。

🧙 self[item] Uniform | UniformBlock[源代码]#

获得一个统一的或统一的块

🧙 self[key] = value[源代码]#

设置统一的值

delete()[源代码]#

销毁内部计算着色器对象。这通常不是必需的,但取决于在上下文中配置的更多垃圾收集。

static delete_glo(ctx, prog_id)[源代码]#

按ID销毁计算着色器的低级方法