OpenGL从1.0开始--绘制规则多面体
来源:互联网 发布:java配置log4j 编辑:程序博客网 时间:2024/05/15 04:23
我们之前已经讲解了很多二维图元的绘制,终于我们现在有了基础来绘制三维图元了。
幸运的是,某些标准的形体–五种规则多面体–由GLUT库中的子程序预先定义。这些多面体也称为柏拉图式实体,由它的每一面是一个单位规则多边形来标识。
GLUT中总共有10个函数用来生成这些实体
glutWireTetrahedron();//规则三棱锥线框图 glutSolidTetrahedron();//规则三棱锥实体图 glutWireCube(1.0);//规则立方体线框图 glutSolidCube(1.0); glutWireOctahedron();//规则八面体线框图 glutSolidOctahedron(); glutWireDodecahedron();//规则十二面体线框图 glutSolidOctahedron(); glutWireIcosahedron();//规则二十面体线框图 glutSolidIcosahedron();
我们看一个示例代码:
#include <gl/glut.h>GLsizei winWidth = 500, winHeight = 500;static void init(void){ glClearColor(1.0, 1.0, 1.0, 0.0); }void displayWirePolyhedra(void){ glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0, 0.0, 1.0); gluLookAt(5.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glScalef(1.5, 2.0, 1.0); glutWireCube(1.0);//绘制立方体线框图 glFlush();}void winReshapeFcn(GLint newWidth, GLint newHeight){ glViewport(0, 0, (GLsizei)newWidth, (GLsizei)newHeight); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glFrustum(-1.0, 1.0, -1.0, 1.0, 2.0, 20.0); glClear(GL_COLOR_BUFFER_BIT);}void main(int argc, char**argv){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowPosition(100, 100); glutInitWindowSize(winWidth, winHeight); glutCreateWindow("Wire-Frame Example"); init(); glutDisplayFunc(displayWirePolyhedra); glutReshapeFunc(winReshapeFcn); glutMainLoop();}
类似地我们可以看看正方体实体图效果:
阅读全文
0 0
- OpenGL从1.0开始--绘制规则多面体
- OpenGL从1.0开始--绘制常用统计图
- OpenGL从1.0开始--绘制二次曲面
- OpenGL从1.0开始--光照和表面绘制函数
- OpenGL(二)图形绘制之平面多面体的绘制
- [OpenGL]图形的绘制——平面多面体
- android openGL ES2 一切从绘制纹理开始
- android openGL ES2 一切从绘制纹理开始
- OpenGL从1.0开始--输出图元
- OpenGL从1.0开始--曲线图形
- OpenGL从1.0开始--颜色调和
- OpenGL从1.0开始--填充区属性
- OpenGL从1.0开始--二维几何变换
- OpenGL从1.0开始--二维观察
- OpenGL从1.0开始--三维观察
- OpenGL从1.0开始--计算机动画
- OpenGL从1.0开始--拾取操作
- OpenGL从1.0开始--GLUT菜单
- 针对在webstorm开发React Native的代码快捷设置
- 拦截器——okhttp(post)+recyclerView显示数据
- codeforce 825E. Minimal Labels 拓扑排序 贪心思想
- 转:spring上下文,spring mvc上下文,以及servlet上下文的关联以及理解
- 互联网产品的运营指标
- OpenGL从1.0开始--绘制规则多面体
- 网络工程师成长日记151-面试好好面,别耍怪!
- JSP内置对象application、out、page、config,exception总结(五)
- 隔行换色+删除+批量删除+排序+模糊查询+修改+添加
- xRecyclerView刷新
- 关于gradle 的 执行顺序
- 【MongoDB】MongoDB基本入门02
- 【JQuery学习笔记一】理解JQuery对象含义和JQuery选择器的使用!
- 隔行换色+模糊查询+添加+删除+排序