最近看到dx中的sample中有用顶点数组实现的圆柱体贴图的程序。于是自己写了一个圆柱体的类,支持生成纹理坐标,法线,坐标。
构造圆柱体的参数主要有:
- 水平分段数(就是上下圆的分段数目),
- 高度上的分段数目,(至少有两段:上下两个圆面)
- 半径,
- 高度。
顶点生成的原理:将圆柱面展开就是一个矩形。而纹理也是一个矩形区域,需要注意的是圆柱面是一个首尾相接的封闭面。
效果图如下:
代码:
头文件
cpp文件:
测试程序如下,要运行起来,还必须加一个bmpLoader的程序库,可以到这里下载一个简单的,里面有自带的bmp图片。
http://users.ox.ac.uk/~orie1330/bmploader.html
代码:
PS:OpenGL绘制什么都得DIY。