gpt4 book ai didi

opengl - 指定为 GL_RGBA 的内部格式的什么数据类型?

转载 作者:行者123 更新时间:2023-12-01 11:36:20 25 4
gpt4 key购买 nike

在 OpenGL 维基中 glTexImage2D ,它写道:

internalFormat Specifies the number of color components in the texture. Must be one of base internal formats given in Table 1, one of the sized internal formats given in Table 2, or one of the compressed internal formats given in Table 3, below.

OpenGL Programming Guide, Chapter 9, Texture Mapping

By definition, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, and GL_RGBA are lenient, because they do not ask for a specific resolution.

所以如果我们将 GL_RGBA 分配给内部格式,使用什么数据类型?GPU 处理器默认?

最佳答案

用于GL_RGBA 的大小是具体未定义的。

来自OpenGL 4.5 spec ,“8.5 纹理图像规范”部分,第 153 页(添加了重点):

The internal component resolution is the number of bits allocated to each value in a texture image. If internalformat is specified as a base internal format, the GL stores the resulting texture with internal component resolutions of its own choosing.

其中“基本内部格式”是指表8.11中列出的格式,其中包括GL_RGBA

我希望选择的格式通常是 GL_RGBA8,但实际上并不能保证。如果您关心尺寸,则应使用尺寸格式。事实上,我认为你总是应该这样做。未调整大小的格式似乎仍然存在以保持向后兼容性。我总是很惊讶它们没有在核心配置文件中删除。例如,较新的 glTexStorage*() 入口点,在许多用例中作为 glTexImage*() 的更好替代品,只接受大小的内部格式。

关于opengl - 指定为 GL_RGBA 的内部格式的什么数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26810489/

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