Arcade OpenGL API#

这是Arcade中的低级渲染API,在内部用于所有绘制/渲染。它是比OpenGL 3.3+内核更高级的包装器,让用户可以轻松访问GPU程序(着色器)、纹理、帧缓冲区、查询、缓冲区、顶点数组/几何体和计算着色器(请注意,MacOS不支持计算着色器)。

此API的灵感也主要来自于 ModernGL. 它基本上是 ModernGL 只是我们使用的是pyglet的OpenGL绑定。然而,我们没有上下文的灵活性和速度 ModernGL, 但我们至少与PyOpenGL不相上下,或者稍好一些,因为Piglet的OpenGL绑定非常轻。更高级别的抽象是主要卖点,因为它将用户从大量工作中解脱出来。

请注意,所有资源都是通过 arcade.gl.Context / arcade.ArcadeContext 。此类型的实例应该可以在窗口中访问 (arcade.Window.ctx )。

此API还可以通过创建 arcade.gl.Context 在窗口创建之后。这个 arcade.ArcadeContext 另一方面,使用特定于arcade的帮助器方法扩展了默认上下文,并且应该只由arcade使用。

可能需要一些OpenGL的先验知识才能理解此API的工作原理,但我们在实验目录(Git)中有一些示例。