gpt4 book ai didi

opengl - glTexParameter 和 glSamplerParameter 有什么区别

转载 作者:行者123 更新时间:2023-12-04 05:39:17 26 4
gpt4 key购买 nike

因为我不是专家,请不要认为这个问题很愚蠢。
我已经阅读了几个使用 glTexParameter 设置纹理参数的教程。我说的是 GL_TEXTURE_MIN_FILTER、GL_TEXTURE_MAG_FILTER、GL_TEXTURE_WRAP_R 等。
突然我遇到一个教程,现在使用 glSamplerParameter 来设置这些参数。

我看到 glTexParameter 和 glSamplerParameter 之间有一些通用参数,如(GL_TEXTURE_MIN_FILTER、GL_TEXTURE_MAG_FILTER、GL_TEXTURE_WRAP_R、GL_TEXTURE_MIN_LOD 等),还有一些只适用于 glTexParameter(GL_TEXTURE_BASE_LEVEL、等 GLZ_R)。我完全理解不常见的,因为毕竟 glTexParameter 作用于图像,而这些参数本身就是指定属性图像。

但我不太明白为什么这两个 GL 调用之间有一些参数是通用的。应该在什么时候使用?在我看来,采样参数(例如(GL_TEXTURE_MIN_FILTER、GL_TEXTURE_MAG_FILTER、GL_TEXTURE_WRAP_R 等)应该只适用于采样器(glSamplerParameter)而不适用于 glTexParameter。

请帮助我理解两者之间的区别。

最佳答案

glSamplerParameter比较新。纹理的采样方式实际上是进行采样的事物的属性,而不是纹理本身的属性——不仅在语义方面,而且在实际的、真实的硬件上。

除了希望按照它们在硬件上实际运行的方式来表示事物之外,将两个不相关的事物联系在一起可能会降低性能。如果您使采样器的属性成为采样的方式,则例如您可以在同一个着色器中以两种不同的方式对同一个纹理进行采样。如果它是纹理的属性,那么您将不得不两次上传相同的纹理或编写多 channel 着色器。

因此,现在这两件事被分开了。

关于opengl - glTexParameter 和 glSamplerParameter 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19085956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com