OpenGL Context
Contents
arcade.ArcadeContext
- class arcade.ArcadeContext(window: pyglet.window.BaseWindow, gc_mode: str = 'auto')[source]
An OpenGL context implementation for Arcade with added custom features. This context is normally accessed thought
arcade.Window.ctx
.Pyglet users can use the base Context class and extend that as they please.
This is part of the low level rendering API in arcade and is mainly for more advanced usage
- property default_atlas: arcade.texture_atlas.TextureAtlas
The default texture atlas. This is created when arcade is initialized. All sprite lists will use use this atlas unless a different atlas is passned in the
SpriteList
constructor.- Type
- load_program(*, vertex_shader: Union[str, pathlib.Path], fragment_shader: Optional[Union[str, pathlib.Path]] = None, geometry_shader: Optional[Union[str, pathlib.Path]] = None, tess_control_shader: Optional[Union[str, pathlib.Path]] = None, tess_evaluation_shader: Optional[Union[str, pathlib.Path]] = None, defines: Optional[dict] = None) arcade.gl.program.Program [source]
Create a new program given a file names that contain the vertex shader and fragment shader. Note that fragment and geometry shader are optional for when transform shaders are loaded.
This method also supports the
:resources:
prefix. It’s recommended to use absolute paths, but not required.Example:
# The most common use case if having a vertex and fragment shader program = window.ctx.load_program( vertex_shader="vert.glsl", fragment_shader="frag.glsl", )
- Parameters
vertex_shader (Union[str,pathlib.Path]) – path to vertex shader
fragment_shader (Union[str,pathlib.Path]) – path to fragment shader (optional)
geometry_shader (Union[str,pathlib.Path]) – path to geometry shader (optional)
defines (dict) – Substitute
#define
values in the sourcetess_control_shader (Union[str,pathlib.Path]) – Tessellation Control Shader
tess_evaluation_shader (Union[str,pathlib.Path]) – Tessellation Evaluation Shader
- load_texture(path: Union[str, pathlib.Path], *, flip: bool = True, build_mipmaps: bool = False) arcade.gl.texture.Texture [source]
Loads and creates an OpenGL 2D texture. Currently all textures are converted to RGBA.
Example:
texture = window.ctx.load_texture("background.png")
- Parameters
path (Union[str,pathlib.Path]) – Path to texture
flip (bool) – Flips the image upside down
build_mipmaps (bool) – Build mipmaps for the texture
- property projection_2d: Tuple[float, float, float, float]
Get or set the global orthogonal projection for arcade.
This projection is used by sprites and shapes and is represented by four floats:
(left, right, bottom, top)
- property projection_2d_matrix: pyglet.math.Mat4
Get the current projection matrix. This 4x4 float32 matrix is calculated when setting
projection_2d
.- Type
Mat4