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