我有与3D纹理映射的问题。 如果我有几个2D纹理,我想建立一个3D纹理与这些2D纹理。 我能做些什么把所有这些数据一起? 用参数常量的功能glTexImage3D结束GLvoid这导致纹理的数据*纹理像素。 但现在我有32个2D纹理,并希望得到一个3D纹理。 怎么做?
第二个问题是关于图像空间滤波方法。 有没有谁知道它是什么? 我应该使用这种方法来确定纹理坐标。
我有与3D纹理映射的问题。 如果我有几个2D纹理,我想建立一个3D纹理与这些2D纹理。 我能做些什么把所有这些数据一起? 用参数常量的功能glTexImage3D结束GLvoid这导致纹理的数据*纹理像素。 但现在我有32个2D纹理,并希望得到一个3D纹理。 怎么做?
第二个问题是关于图像空间滤波方法。 有没有谁知道它是什么? 我应该使用这种方法来确定纹理坐标。
你真的需要3D纹理? 也许是更好的办法是有纹理数组?
这里是一个很好的信息: http://www.opengl.org/wiki/Array_Texture
它比3D纹理简单一些使用我的想法。 它们是例如在级联阴影映射是非常有用的,其中每个级联进入不同元件纹理在数组中。
但现在我有32个2D纹理,并希望得到一个3D纹理。 怎么做?
在你的程序有些时候,你上传的纹理。 从你的问题我想你已经做了上传到使用glTexImage2D。 这是困难的,繁琐的,而不是非常强大的纹理对象之间传递纹理数据,所以询问如何2D纹理结合成一个3D纹理有点过。
但是你可以做什么非常清楚,从2D数据的切片构建3D纹理上传了一个又一个的3D votexels块。 只需更换每次调用与调用glTexImage2D glTex 子图像的3D 。 上传任何数据之前,你可以使用初始化为呼叫纹理glTexImage3D和一个空指针作为数据参数(你也可以使用glTexStorage3D如果你使用OpenGL-4)。