Skip to main content

Module angle

Module angle 

Source
Expand description

ANGLE (OpenGL ES 3.0 on Metal, Direct3D 11 or Vulkan): the GL backend of gasm:gl natively. libEGL and libGLESv2 are loaded at run time (scripts/fetch-angle.sh puts them in tools/angle/; release bundles ship them next to gasm-run), so gasm-run runs everything else without them.

The context is the one Chrome gives WebGL 2: GLES 3.0 in ANGLE’s WebGL compatibility mode (WebGL’s validation rules, extensions only on request), robust buffer access and zero-initialised resources. The default framebuffer has no alpha, depth 24 + stencil 8 and no multisampling, as in the browser runner.

Structs§

Angle
One ANGLE display, context and surface, current on the thread that made it.

Enums§

NativeWindow
Where a window surface goes: the platform’s native window.

Functions§

c_string
A NUL-terminated copy for GL (names never contain NUL: they come from UTF-8 checked strings).
find
The directory with ANGLE’s libEGL: dir (–gl-lib), $GASM_ANGLE_DIR, next to the executable (also ../Frameworks in a macOS .app, ./angle), or the repository’s tools/angle.