8 个版本 (4 个重大更新)
| 0.12.0 | 2024 年 5 月 5 日 |
|---|---|
| 0.11.0 | 2023 年 4 月 5 日 |
| 0.10.0 | 2023 年 1 月 16 日 |
| 0.9.0 | 2022 年 12 月 1 日 |
| 0.8.0 | 2021 年 9 月 17 日 |
#115 in 渲染
每月 986 次下载
用于 imgui-sdl2-support
700KB
14K SLoC
使用 glow 库为 OpenGL 实现的 [imgui](imgui-rs)[imgui] 渲染器。
该渲染器受到 上游示例 的极大影响。
基本用法
源代码中提供了几个 示例。
简而言之,创建一个 AutoRenderer(用于基本用法)或 Renderer(用于稍微可定制的操作),然后使用来自 imgui 的绘图数据调用 render(...) 方法。
OpenGL (ES) 版本
此渲染器预期与 OpenGL 版本 3.3 及以上以及 OpenGL ES 版本 3.0 或以上兼容。这应该涵盖了大多数甚至相当老旧的硬件。对于发现与这些 OpenGL 版本不兼容的问题,请提交问题报告,欢迎提交拉取请求以扩展对更早版本的支持。
范围
请将此视为一个示例渲染器。它旨在满足简单应用作为imgui-rs最终渲染步骤的需求。如果你的应用有更具体的需求,最好编写自己的渲染器,在这种情况下,这可以作为一个有用的起点。此渲染器也不是万无一失的(主要由于OpenGL状态的全球性质)。例如,一些“内部”函数被标记为 pub 以允许用户有更精细的控制,但代价是可能允许潜在的渲染错误。
sRGB
当将颜色输出到屏幕时,颜色需要从线性颜色空间转换为匹配显示器的非线性空间(例如sRGB)。当使用 AutoRenderer 时,此库将作为着色器中的一个步骤将颜色转换为sRGB。初始化 Renderer 时,你可以在调用 Renderer::initialize 时选择是否将此步骤包含在着色器中。
此库还假设当纹理上传到OpenGL时,其内部格式已经正确设置。也就是说,假设你的纹理是sRGB(如果你不知道,它可能就是)则 internal_format 是 SRGB* 值之一。
依赖项
~14–20MB
~302K SLoC