OpenGL 编程(1)
2015-10-09 17:23
295 查看
OpenGL 编程一
GLUT工具库使用
GLUT 通过下面几个函数执行初始化一个窗口,并渲染。GLUT 初始化函数,并处理所有命令行参数, 应该在其他函数调用之前调用。
gluInit (int *argc, char **argv)
设置模式:RGBA模式, 颜色索引模式, 同时也可以设置单双缓冲,如设置一个所缓冲:
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH)
glutInitDisplayMode(usigned int mode)
设置屏幕大小和位置
glutInitWindowSize(int width, int size) glutInitWindowPosition(int x, int y)
声明使用OpenGL的版本
glutInitContextVersion(int mojorVersion, int minorVersion)
声明使用OpenGL渲染环境的类型
glutInitContextFlags(int flags)
创建窗口
glutCreateWindow(char *string)
显示回调函数,每当GLUT确定一个窗口的内容需要重新显示时,通过glutDisplayFunc注册那个回调函数会被执行。
glutDisplayFunc(void (*func)(void))
实例:
#include <GL/freeglut.h> #include <GL/gl.h> void renderFunction() { glClearColor(0.0, 0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 1.0, 1.0); glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); glBegin(GL_POLYGON); glVertex3f(0.25, 0.25, 0.0); glVertex3f(0.75, 0.25, 0.0); glVertex3f(0.75, 0.75, 0.0); glVertex3f(0.25, 0.75, 0.0); glEnd(); glFlush(); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE); glutInitWindowSize(500,500); glutInitWindowPosition(100,100); glutCreateWindow("OpenGL - First window demo"); glutDisplayFunc(renderFunction); glutMainLoop(); return 0; } //编译命令: // gcc gl_test_0.c -o gl_test_0 -lGL -lGLU -lglut
相关文章推荐
- python随机数产生
- yii2.0用户登陆
- 使用BeanUtils.populate方法转化Map为Javabean时get与set方法的命名规则
- 很早以前闲着没事好玩写了个php自动加载的类,仅供参考
- 一、Python快速入门
- Eclipse闪退/打不开/无法启动/一闪而过
- C语言经典笔试题(一)
- c++笔试
- Go之继承的实现
- C#实现读取DataSet数据并显示在ListView控件中的方法
- 64位系统vs2010平台下实现C++与matlab R2014混合编程方法示例
- python 中database的一些问题
- Eclipse使用小技巧
- String源码解读之Resource接口
- 【C语言】输出字符串
- springMVC原理
- php中mysqli 处理查询结果集的几个方法
- 零基础学python-19.11 使用迭代工具模拟map
- python mysql MySQLdb 存储文件
- Java冒泡排序与二分法查找的代码随笔