【发布时间】:2015-08-29 22:01:33
【问题描述】:
我正在尝试实现 3D 纹理来替代纹理图集。我想将它用于地形表面。在我尝试使用 mip 贴图之前,3D 纹理效果很好(输出颜色始终为黑色)。
世代:
int glTexture;
glTarget = TextureTarget.Texture3D;
GL.GenTextures(1, out glTexture);
GL.BindTexture(glTarget, glTexture);
for (int level = 0; level < LevelCount; level++){
GL.TexImage3D(glTarget, level, glInternalFormat, width, height, depth, 0, glFormat, glType, IntPtr.Zero);
width = width >> 1;
height = height >> 1;
}
为每个人脸和mip图设置数据:
GL.BindTexture(glTarget, glTexture);
GL.TexSubImage3D(glTarget, level, 0, 0, depth, width, height, 1, glFormat, glType, dataPtr);
我敢肯定,所有 mip 贴图都已设置(Apitrace 将它们全部显示为从 512 到 1)。知道发生了什么吗?
【问题讨论】:
-
如果你想替换纹理图集,我建议使用纹理数组,因为 3D 纹理使用 mipmapping 的方式对单独的 2d 纹理没有用处。这可能是你的问题。更多信息:opengl.org/discussion_boards/showthread.php/…