我需要创建一个立方体贴图数组,但我找不到正确的参数。
在示例代码方面没什么用,但我确实在OpenGL中找到了这个:
HiGL_TexStorage3D(
GL_TEXTURE_CUBE_MAP_ARRAY,
Data->GetMipMap(),
DestFormat,
Data->GetWidth(),
Data->GetHeight(),
);
所以似乎所需的纹理目标是GL_TEXTURE_CUBE_MAP_ARRAY
,但是OpenTK并没有将其列为选项,只有以下内容:
GL.TexStorage3D(TextureTarget3d.ProxyTexture2DArray, 0, format, width, height, depth);
GL.TexStorage3D(TextureTarget3d.ProxyTexture3D, 0, format, width, height, depth);
GL.TexStorage3D(TextureTarget3d.ProxyTextureCubeMap, 0, format, width, height, depth);
GL.TexStorage3D(TextureTarget3d.Texture2DArray, 0, format, width, height, depth);
GL.TexStorage3D(TextureTarget3d.Texture3D, 0, format, width, height, depth);
GL.TexStorage3D(TextureTarget3d.TextureCubeMap, 0, format, width, height, depth);
有人可以解决一些问题吗?几个月前www.opentk.com消失了。
答案 0 :(得分:0)
通过使用GL.TexImage3D
,TextureCubeMapArray
变得可访问。
GL.TexImage3D(TextureTarget.TextureCubeMapArray, 0, PixelInternalFormat.Rg16, size, size, layers * 6, 0, PixelFormat.Red, PixelType.Float, IntPtr.Zero);
问题是GL.TexStorage3D
采用TextureTarget3D
类型的参数,但不允许TextureCubeMapArray
,而GL.TexImage3D
采用TextureTarget
,这样做。{/ p>
随后,我不确定这是否仍构成错误,或者这两个函数的区别如何。