opengl 体绘制
- 作者: 带着媳妇儿奔小康
- 来源: 51数据库
- 2020-09-25
搜一下NEHE的教程,代码和讲解都有,很详细,代码直接可以运行~
其实就是建一个函数,绘制一些节点,注意下顺序就好了~
问题1。使用auxsolidcylinder和auxsolidcone绘制的是曲面,solid表示的就是曲面,如果是wire就是由曲线构成。同样也可以使用glut函数绘制。
所谓的实体只是完全封闭的曲面,如果用uxsolidcylinder函数画图,你可以自己绘制封闭的面,使他看起来像实体。
问题2。gltranslated()向z轴负方向移动。因为屏幕相当于坐标轴原点,向负方向移动的话,物体就会离你远去,相当于把物体放在你眼前,如果向z轴正方向移动,就相当于向眼睛后面移动,看不到了。移动多少取决于你用gluperspective函数中的参数znear和zfar,移动的绝对值要在这两个值之间。当然,移动越远,图像看起来就越小,和视线是一个道理。
----------------------------------------------------------
auxsolidcylinder和glucylinder不是同一个库里的函数,画出的图形不一样。auxsolidcylinder在glaux.h中,是微软添加的辅助绘图库,而glu开头的函数在glu.h中,是opengl的标准库,所以他们画出的图形不同很正常。
其实就是建一个函数,绘制一些节点,注意下顺序就好了~
问题1。使用auxsolidcylinder和auxsolidcone绘制的是曲面,solid表示的就是曲面,如果是wire就是由曲线构成。同样也可以使用glut函数绘制。
所谓的实体只是完全封闭的曲面,如果用uxsolidcylinder函数画图,你可以自己绘制封闭的面,使他看起来像实体。
问题2。gltranslated()向z轴负方向移动。因为屏幕相当于坐标轴原点,向负方向移动的话,物体就会离你远去,相当于把物体放在你眼前,如果向z轴正方向移动,就相当于向眼睛后面移动,看不到了。移动多少取决于你用gluperspective函数中的参数znear和zfar,移动的绝对值要在这两个值之间。当然,移动越远,图像看起来就越小,和视线是一个道理。
----------------------------------------------------------
auxsolidcylinder和glucylinder不是同一个库里的函数,画出的图形不一样。auxsolidcylinder在glaux.h中,是微软添加的辅助绘图库,而glu开头的函数在glu.h中,是opengl的标准库,所以他们画出的图形不同很正常。
推荐阅读
