gfx-backend-gl 0.9.0

OpenGL backend for gfx-rs
Documentation
# gfx-backend-gl

[OpenGL](https://www.khronos.org/opengl/) backend for gfx.

Can only be used on non-Apple Unix systems. The WSI is hard-coded to EGL.

Note: the `Instance`, `Surface`, `PhysicalDevice`, `Device`, and `Queue` can only
have their methods called on the thread where `Instance` was created(!).
Recording command buffers is free-threaded.

## Normalized Coordinates

Render | Depth | Texture
-------|-------|--------
![render_coordinates]../../../info/gl_render_coordinates.png | ![depth_coordinates]../../../info/gl_depth_coordinates.png | ![texture_coordinates]../../../info/gl_texture_coordinates.png

## Binding Model

Dimensions of the model:
  1. Register type: uniform buffers, storage buffers, and combined texture-samplers
  2. Binding slot (0 .. `MAX_COMBINED_TEXTURE_IMAGE_UNITS` for textures)

## GLSL Mirroring

Texture Kind | GLSL sampler
-------------|-------------
`D1` | *g*sampler1D, sampler1DShadow
`D1Array` | *g*sampler1DArray, sampler1DArrayShadow
`D2` | *g*sampler2D, *g*sampler2DMS, sampler2DShadow
`D2Array` | *g*sampler2DArray, *g*sampler2DMSArray, sampler2DArrayShadow
`D3` | *g*sampler3D
`Cube` | *g*samplerCube, samplerCubeShadow
`CubeArray` | *g*samplerCubeArray, samplerCubeArrayShadow

Buffer resource views are seen as *g*samplerBuffer.

Rust basic type | GLSL (1.3 and above)
----------------|---------------------
i32 | int
u32 | uint
f32 | float
f64 | double