首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL自动sRGB转换与手动sRGB转换

OpenGL自动sRGB转换与手动sRGB转换
EN

Stack Overflow用户
提问于 2012-08-08 22:21:51
回答 1查看 673关注 0票数 1

我最近一直在阅读关于sRGB转换和它带来的一些好处的文章。我在GPU Gems3中读到了一篇非常有用的文章,它现在是免费的,它涵盖了一些自动方法与手动着色器编写的方法。下面是这篇文章:

https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch24.html

在什么情况下,使用手动转换而不是自动转换是有益的?在我看来,通过使用传入glTexImage2D的GL_SRGB_EXT和使用GL_EXT_framebuffer_sRGB,不需要进行任何手动转换?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-09 01:15:05

好吧,其中一个原因已经在那篇文章中给出了。如果你假设(错误的)伽马值为2.0,你可以用sqrt来计算它,这可能比屏幕后面的内置方法更快,很可能是pow(frag.rgb,1.0/2.2)。当然,如果渲染到sRGB是在硬件中实现的,这不会优化任何东西。

另一个原因可能是您希望自己在非线性颜色空间中进行一些计算。例如,如果您想要转换为用于图像处理任务的Y'CbCr之类的内容。

最后,也许你可以通过一些查询得到一个非常精确的输出设备的伽马值,然后进行手动转换可能会得到更好的质量(可能几乎不会引起注意)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11866588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档