51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> C >> 文章正文

OpenGL三维纹理贴图到底是怎么回事

更新时间:2012-2-26:  来源:51代码网
OpenGL三维纹理贴图到底是怎么回事呀,我还是没有弄懂,要说一维与二维好懂,但是三维呢,我怎么样加载一个三维纹理呀?
有哪位知道哪儿有关于OpenGL三维纹理贴图的例子,麻烦告诉我下,谢谢了没有真正的三维纹理,要不就是类似天空盒的纹理,那也是由6个2D纹理拼接而成。
无论一个物体多么像三维,它也是由一大堆的三角形构成,而三角形使用的都是2D纹理。所谓的曲面,也是由尽可能多的三角形来模拟的,三角形越多,模拟的曲面也越真实。你说的是GL_TEXTURE_3D类型纹理吧,你可以把它想象成2维纹理的数组,操作方法只是比二维纹理多了一维坐标而已结合三楼所说,多一些参数
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glGenTextures(1, &texName);
glBindTexture(GL_TEXTURE_3D, texName);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_CLAMP);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER,  
GL_NEAREST);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER,  
GL_NEAREST);
glTexImage3D(GL_TEXTURE_3D, 0, GL_RGB, iWidth, iHeight,iDepth, 0, GL_RGB, GL_UNSIGNED_BYTE, image);
glEnable(GL_TEXTURE_3D); 怎么感觉#4就是把GL_TEXTURE_2D改成了3D....
这样绑定的纹理能干什么用.. 贴出有厚度的纹理?
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 赞助商链接
    推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |