KAS WGPU
KAS shell interface over winit and wgpu.
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
for details.
Optional features
This crate has the following feature flags:
clipboard
(enabled by default): clipboard integrationraster
(enabled by default): use [kas-text]'s default backend for glyph rastering (alternatively, specifykas-text/ab_glyph
orkas-text/fontdue
)shaping
(enabled by default): use [kas-text]'s default backend (Rustybuzz) for text shaping (alternatively, specifykas-text/harfbuzz
or do not use shaping)stack_dst
(enabled by default): enableskas-theme::MultiTheme
gat
: enables usage of the Generic Associated Types feature (nightly only and currently unstable), allowing some usages ofunsafe
to be avoided. (The plan is to enable this by default once the feature is mature.)unsize
: forwards this feature flag tokas-theme
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
: useab_glyph
mode = 1
: useab_glyph
and align glyphs to side-bearingmode = 2
: usefontdue
Copyright and Licence
The 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 file or on the following webpage: https://www.apache.org/licenses/LICENSE-2.0