#文本渲染 #真类型 #gfx #文本 #字体

gfx_glyph

使用gfx-rs & ab_glyph进行快速GPU缓存文本渲染

41个版本

0.17.1 2023年2月10日
0.17.0 2020年5月23日
0.16.0 2019年9月20日
0.15.0 2019年5月3日
0.6.4 2017年11月24日

#179图形API

Download history 761/week @ 2024-03-13 727/week @ 2024-03-20 646/week @ 2024-03-27 737/week @ 2024-04-03 572/week @ 2024-04-10 692/week @ 2024-04-17 791/week @ 2024-04-24 624/week @ 2024-05-01 607/week @ 2024-05-08 609/week @ 2024-05-15 681/week @ 2024-05-22 682/week @ 2024-05-29 549/week @ 2024-06-05 472/week @ 2024-06-12 611/week @ 2024-06-19 458/week @ 2024-06-26

2,213 每月下载量
用于 17 个crates (6 直接)

Apache-2.0

185KB
3K SLoC

gfx_glyph crates.io 文档

使用gfx-rs v0.18 & glyph-brush进行快速GPU缓存文本渲染。

use gfx_glyph::{ab_glyph::FontArc, GlyphBrushBuilder, Section, Text};

let dejavu = FontArc::try_from_slice(include_bytes!("../../fonts/DejaVuSans.ttf"))?;
let mut glyph_brush = GlyphBrushBuilder::using_font(dejavu).build(gfx_factory.clone());

// set the text scale, font, color, position, etc
let section = Section::default()
    .add_text(Text::new("Hello gfx_glyph"));

glyph_brush.queue(section);
glyph_brush.queue(some_other_section);

glyph_brush.use_queue().draw(&mut gfx_encoder, &gfx_color)?;

示例

查看以下内容

  • cargo运行 --示例段落 --发布
  • cargo运行 --示例性能 --发布
  • cargo运行 --示例不同 --发布
  • cargo运行 --示例深度 --发布

限制

当前实现仅支持OpenGL (3.2或更高)。如果这是问题,请直接使用glyph-brush

依赖关系

~6MB
~121K SLoC