关于gluCylinder函数的用法…
来源:互联网 发布:java程序员招聘 编辑:程序博客网 时间:2024/06/05 19:20
因为要设计三维模型,所以权衡了半天还是打算学OPENGL。一来是OPENGL的语言相对比较简练,常年的更新比较少,而directx的API总是反复更新,函数太多;二来是我非常讨厌WINAPI函数,写法非常难懂;三来就是DX只能用在WIN上
但是学了一段时间的OPENGL之后发现,OPENGL确实是太简陋了,大量的形状的建模都需要自己计算和用多边形逼近,真不知道那些复杂图形是怎么被画出来了,比方说魔兽居然也是用OPENGL做的,天哪
好了,言归正传,关于gluCylinder函数,刚接触最初级的时候,就被这个函数打败了。因为当我调用这个函数本想画一个完美的圆柱的时候,却发现无法显示?搜索了下网络,资料真的是少的可怜,相关的求助不是不回复的,就是贴个函数定义的,对于入门初学者来说,一点价值都没有。于是我自己摸索了下,终于发现了问题在哪里
一个最简单的圆柱绘图函数就下面两行:
GLUquadricObj *objCylinder = gluNewQuadric();
gluCylinder(objCylinder, 10.0, 10.0, 10.0, 32, 5);
但是这样画出来的圆柱是怎么都显示不出来的,因为除了这两行代码外,还需要涉及OPENGL里面的两大内容:视图变换和模型变换。其关键点在于:gluCylinder绘出的圆柱,其中轴就是在Z轴上的,所以如果不引入视图变换或者模型变换,就意味着你无法看到圆柱的侧面,所以自然无法看到圆柱的形状,就以为是无法显示了。
要看到如下图的圆柱,需要在函数中额外添加代码
在OPENGL的main函数中,需要添加glutReshapeFunc(reshape)来引入变换
详细的reshape函数如下:
void reshape(int w, int h)
{
}
这样子,在你的display函数中绘制的圆柱体,就能和上图一样显示了。
- 关于gluCylinder函数的用法…
- OpenGL函数解析-gluCylinder
- 关于strrchr函数的用法
- 关于memset函数的用法
- 关于decode函数的用法
- 关于VLOOKUP函数的用法
- 关于VLOOKUP函数的用法
- 关于VLOOKUP函数的用法
- 关于VLOOKUP函数的用法
- 关于strtol()函数的用法
- 关于GetCurrentDirectory函数的用法
- 关于strtok函数的用法
- 关于GetTickCount函数的用法
- 关于memset函数的用法
- 关于CString的函数用法
- 关于row_number函数的用法
- 关于qsort函数的用法
- 关于waitKey()函数的用法
- Python input 与raw_input的区别。
- 错误:boldparagraph.cpp(5) …
- Android Kotlin初体验
- 用Eclipse和wxpython搭建一…
- JPA ORM组件
- 关于gluCylinder函数的用法…
- OpenGL加载纹理深入详解。
- 虚拟键值表
- 开启光照效果
- opengl颜色混合
- PLSQL 之SQL分类和动态SQL
- OpenGl3D图形移动
- cocos2d-x的安卓平台打包apk的bug.…
- AIDL基本使用5 客户端远程回调