kas-wgpu 0.14.0-alpha

KAS GUI / wgpu front-end
KAS WGPU
======

[KAS] shell interface over [wgpu].

[KAS]: https://crates.io/crates/kas
[wgpu]: https://github.com/gfx-rs/wgpu-rs


Compiling shaders
-----------------

This library uses GLSL shaders. Pre-compiled SPIR-V modules are distributed so
that users do not need a shader compiler.

For working on GLSL shaders, a compiler such as `glslc` (part of the [shaderc]
project) is required. `glslc` can be installed from Fedora packages, but on
other platforms manual installation may be required. Alternatively a web-based
tool such as [glslang.js] may be used.

Automatic re-compilation may be enabled by setting e.g. `SHADERC=glslc`.
See [`build.rs`](build.rs) for details.

[glslang.js]: https://alexaltea.github.io/glslang.js/
[shaderc]: https://github.com/google/shaderc


Optional features
-------

This crate has the following feature flags:

-   `raster` (enabled by default): use [kas-text]'s default backend for glyph
    rastering (alternatively, specify `kas-text/ab_glyph` or `kas-text/fontdue`)
-   `shaping` (enabled by default): use [kas-text]'s default backend (Rustybuzz)
    for text shaping (alternatively, specify `kas-text/harfbuzz` or do not use
    shaping)

Note: at least one of `ab_glyph`, `fontdue` is required. If both are enabled,
the choice of raster engine is controlled at run-time via theme configuration:

-   `mode = 0`: use `ab_glyph`
-   `mode = 1`: use `ab_glyph` and align glyphs to side-bearing
-   `mode = 2`: use `fontdue`

[ab_glyph]: https://crates.io/crates/ab_glyph
[fontdue]: https://crates.io/crates/fontdue

Copyright and Licence
-------

The [COPYRIGHT](COPYRIGHT) file includes a list of contributors who claim
copyright on this project. This list may be incomplete; new contributors may
optionally add themselves to this list.

The KAS library is published under the terms of the Apache License, Version 2.0.
You may obtain a copy of this licence from the [LICENSE](LICENSE) file or on
the following webpage: <https://www.apache.org/licenses/LICENSE-2.0>