wgpu-text est un emballage sur glyph-brush pour un rendu de texte rapide et facile par wgpu . Il prend en charge les polices .otf et .TTF .

Ce projet a été inspiré et est similaire à wgpu_glyph mais a des fonctionnalités supplémentaires et est plus simple. De plus, il n'est pas nécessaire d'inclure les glyphes de brosses dans votre projet.
Étant donné que la caisse de brosse de glyphe est réexportée et étant fortement dépendante de, il est recommandé de parcourir les documents de section et les exemples de section pour une meilleure compréhension de la gestion et de l'ajout de texte.
Ajoutez ce qui suit à votre fichier Cargo.toml :
[ dependencies ]
wgpu_text = " 0.9.1 " use wgpu_text :: { glyph_brush :: { Section as TextSection , Text } , BrushBuilder , TextBrush } ;
let brush = BrushBuilder :: using_font_bytes ( font ) . unwrap ( )
/* .initial_cache_size((16_384, 16_384))) */ // use this to avoid resizing cache texture
. build ( & device , config . width , config . height , config . format ) ;
// Directly implemented from glyph_brush.
let section = TextSection :: default ( ) . add_text ( Text :: new ( "Hello World" ) ) ;
// on window resize:
brush . resize_view ( config . width as f32 , config . height as f32 , & queue ) ;
// window event loop:
winit :: event :: Event :: RedrawRequested ( _ ) => {
// Before are created Encoder and frame TextureView.
// Crashes if inner cache exceeds limits.
brush . queue ( & device , & queue , [ & section , .. . ] ) . unwrap ( ) ;
{
let mut rpass = encoder . begin_render_pass ( .. . ) ;
brush . draw ( & mut rpass ) ;
}
queue . submit ( [ encoder . finish ( ) ] ) ;
frame . present ( ) ;
} Pour des exemples plus détaillés, examinez les exemples.
cargo run --example <example-name> Exécutez des exemples avec --release pour des performances précises.
Outre le rendu de texte de base et les fonctionnalités des brosses de glyphes , certaines fonctionnalités ajoutent une personnalisation:
Toutes sortes de contributions sont les bienvenues.