窗口内imgui渲染的数据颜色变浅
Posted
技术标签:
【中文标题】窗口内imgui渲染的数据颜色变浅【英文标题】:The data rendered of imgui within window get a lighter color 【发布时间】:2021-09-25 15:15:50 【问题描述】:The data rendered outside the window get a correct color
The data rendered within the window get a lighter color
正如图片所描述的,有谁知道是什么导致了问题?
【问题讨论】:
仅供参考,我遇到了同样的问题,任何认为这是不可重现的人,实际上只是按照 IMGUI 的示例导致了这种行为。 我在几天前解决了这个问题。问题是由 imgui 用于创建交换链的格式是 R8G8B8A8_UNORM 引起的,但我出于我的目的使用了 R8G8B8A8_SRGB。所以我分叉了 imgui 并更新了 imgui 后端的请求格式以启用 sRGB。 backends/impl_vulkan: set VK_FORMAT_R8G8B8A8_SRGB as default。如果您想解决项目中的问题,希望这些信息对您有所帮助。 这几乎肯定是我正在做的,你能自己回答吗?我很乐意投票。 当然可以。谢谢。 【参考方案1】:颜色较浅的原因是sRGB的色彩空间范围更大。
上述问题是由于 Dear Imgui 使用VK_FORMAT_R8G8B8A8_UNORM
作为创建交换链的最高优先级引起的,但我出于我的目的使用了 'VK_FORMAT_R8G8B8A8_SRGB`。
为了解决问题。您可以选择以下两种方法。
-
使用
VK_FORMAT_R8G8B8A8_UNORM
创建您的交换链,就像 Dear Imgui 在后端/impl_vulkan 中使用的那样。
或者您可以更改优先级列表以在后端/impl_vulkan 中选择VK_FORMAT_R8G8B8A8_SRGB
,就像我所做的那样:backends/impl_vulkan: set VK_FORMAT_R8G8B8A8_SRGB as default
【讨论】:
以上是关于窗口内imgui渲染的数据颜色变浅的主要内容,如果未能解决你的问题,请参考以下文章
如何在 imgui 窗口中使用 opengl glfw3 渲染?
我的渲染技术进阶之旅关于C++轻量级界面开发框架Dear ImGui介绍
我的渲染技术进阶之旅关于C++轻量级界面开发框架Dear ImGui介绍