如何为立方体映射数组分配存储空间
本文关键字:数组 分配 存储空间 映射 立方体 | 更新日期: 2023-09-27 18:13:42
我需要创建一个立方体映射数组,但我有困难找到正确的参数。
在示例代码方面没有太多,但我确实在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几个月前消失了
通过使用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
类型的参数,这允许。
随后,我不确定这是否仍然构成一个bug,或者这两个函数有什么不同。