Opengl glCopyTexImage*D:如何将数据推送到单个图像

Opengl glCopyTexImage*D:如何将数据推送到单个图像,opengl,textures,Opengl,Textures,“每个阵列层都有许多面。面、层和层的产量 单一图像。” glTex--Sub--Image命令允许将数据上载到纹理图像的矩形区域 使用glCopyTexImage*D,您可以指定纹理数组中的mipmap级别和偏移 我遇到的问题是,我可能使用了更复杂的纹理类型(GL_texture_2D_数组)​ 或GL_纹理_立方体_贴图_数组​) 哪一个可以有阵列层(后一个示例中有立方体),如何计算特定层(或面)的偏移量以获得要替换的2D图像的开始 我认为为了解决立方体问题,我将纹理绑定到一个目标上,比如

“每个阵列层都有许多面。面、层和层的产量 单一图像。”

  • glTex--Sub--Image命令允许将数据上载到纹理图像的矩形区域
  • 使用glCopyTexImage*D,您可以指定纹理数组中的mipmap级别和偏移
我遇到的问题是,我可能使用了更复杂的纹理类型(GL_texture_2D_数组)​ 或GL_纹理_立方体_贴图_数组​) 哪一个可以有阵列层(后一个示例中有立方体),如何计算特定层(或面)的偏移量以获得要替换的2D图像的开始

我认为为了解决立方体问题,我将纹理绑定到一个目标上,比如GL_texture_CUBE_MAP_POSITIVE_X​. 但我不确定这一点和层的偏移计算。

你说的是什么“偏移计算”

阵列纹理中的图像和立方体贴图阵列中的层面具有“索引”。没有要计算的偏移量。如果要修改阵列中的特定图像,请上载到特定的层/层面索引


因此,如果要上载到数组中的第一个图像,请将glTexSubImage2D/3D的yoffset/zoffset参数设置为0(因为数组使用基于零的索引)。你将高度/深度参数设置为1,这样你就只更新了一层。

像往常一样闪电般快速,很明显我只是没有正确解析术语。如果我仍然是一个木偶,我会再去读一次,然后重新措辞。啊哈,为什么你解释它后会如此明显?对不起,我现在明白了。