如果这是我创建的纹理,我只是简单地使其内部格式为GL_SRGB
。但我将Qt Quick Item
foo
加入到我的自定义QQuickFramebufferObject
GL代码中,其中我采用foo->textureProvider()->texture()
并使用该纹理进行渲染。从项目中提取纹理:我可以使其过滤为伽玛校正吗?
所以我可以做纹理过滤(当双线性取样时)伽马校正?
注意:我知道我可以实现手动双线性过滤4纹理水龙头和lerping,但这会损害性能有点,所以我正在寻找一个更好的方法。
或者我可以从Qt Quick纹理中获取纹理到我自己的GL_SRGB
纹理中,然后使用该纹理,但是这更复杂,并且每次更新源纹理时都需要发生,这会损害性能(和RAM使用率) 。
我已经搜索谷歌的钩子Qt可能会提供配置这个,但没有发现除了QQuickTextureFactory,但没有解决我的问题,至少AFAICS。
我需要支持OpenGL ES 2.0。
这怎么可能“太宽泛”? –
某人应该如何回答你的问题?为您提供代码/现有代码的链接?向你展示如何做到这一点的教程?所有这些对于SO来说都是不适当的(太广泛/不是主题)。请显示你的尝试。 – m7913d
@ m7913d:Thx指出为什么我会收到选票。如果代码太多而无法提出要求,我会很高兴看到我需要采取的步骤的文字说明。或者只是一些宽泛的指针。我添加了关于这个主题的无用搜索的信息。如果谷歌搜索没有产生相关的Qt钩子,我就没有办法尝试自己了,因为(a)我不想**改变纹理的内部格式(这会很慢,并且深入到Qt内部) ,(b)我不能更改internalFormat的初始化,因为它发生在Qt代码中。 –