#ascii #rendering #renderer #generic

no-std asciirend

兼容 no_std 的 ascii 渲染核心

4 个版本 (2 个重大变更)

0.3.1 2023 年 12 月 5 日
0.3.0 2023 年 12 月 5 日
0.2.1 2023 年 11 月 24 日
0.2.0 2023 年 11 月 24 日
0.1.0 2023 年 11 月 22 日

图形 API 中排名 #179

Download history 20/week @ 2024-07-01 37/week @ 2024-07-22

每月下载量 57

MIT 许可证

105KB
2.5K SLoC

asciirend

. ...    . . .  .  .     . . ..   ..  .. .  ..    .  . .. ... . . ...
.     . .       ..  ..  ...... . .   .......   .  ..  . .. ....... . ..
.  .   .   ... .. . =======+=+==+======+=====+======.  . ...            .
.   ....######======+================+=====+===+===+===+=+=+=+== .... ...
    . . .###%##########=============+===+=========++++++=====+      . . .
.     .  ..######%###%###%####%======+===++==++=+===+==+++++=..  .   . .
 ...    ... ##########%##%######%####=+==+======++++===+==+=. .  .  ...
  .. ..   . .#####%#######%####...........=+====+=====+=== ..    . .. ..
. ..... .  ... ##%####%%######%.asciirend.======+=+==+===  . .... ..... .
  ..    .. . .  ##########%####...........+========+====     ..    ...  .
. .    ..  .     ##%##############%##=+++======+==+=== .. ... ..  .. ..
 .. ....  .       .##################=+=====++===+==+   .   .      .  .
.      ...  . ...    #%####%#####%###==+=+==+=+++==    ...  . ...      ..
. .. . . ...  . ..  .. ##########%%##+===++===+=+  .  .   ..    ..  ..
.    .    . .. . .. .    ############+===+=++==.    . . ..  .  ..    .
 . .   .  . .   .  . ...   ##########+==++=++ ..... . . . .  .      .   .
 ....  ..    ... ....  ..    #%#####%==+===   .. .    .  .. .. . ....  ..
..   . ... .. .. ..     ...  ..##%###+=== .    ...   .  ..    .   .   . .

通用 ascii 渲染器

asciirend 是一个兼容 no_std 的 3D 渲染核心。该库在几个阶段渲染对象:

  • 原始着色(类似于顶点着色,但作用在整个原始元素上)。
  • 片段着色。
  • 额外的文本遍历。

片段在完整的 sRGB 浮点颜色空间中进行着色,然后使用抖动算法量化为字符。这允许图像具有更清晰的色彩过渡,与直接字符着色相比。这也意味着渲染后端对可用的颜色空间不可知(只要不是 HDR!),这对于一个通用的 no_std 兼容渲染器来说非常重要。

示例

请参阅 examples/sample.rs 了解使用示例。

JavaScript

asciirend 有一个使用 WASM 的 JavaScript 示例。尽管 API 表面有限,但仍可用于绘制基本的交互式场景。请参阅 web_sample 目录以获取详细信息。

Python

此外,还有一个 Python 示例(和 pip 包)。请参阅 python 子目录以获取更多详细信息,或者安装 asciirend 包,并在 sample.py 中运行 Python 示例。

依赖项

~3–11MB
~130K SLoC