OPENGL0_简介

opengl定义:

Open Graphics Library,开放图形程序接口,跨平台,跨语言。提供了与底层图形硬件的接口,是一个功能强大的底层图形库。


opengl库种类:

gl:核心库,常规,核心图形处理

glu:实用库,封装了gl库,实现复杂曲线,曲面,多边形分割,高级坐标变换等

aux:辅助库,简单窗口管理,输入事件处理,复杂3d物体渲染

glut:实用工具库,比aux强大,可替代aux库

glx,agl,wgl:窗口库,分别针对unix,linux,ios,windows

glext,glxext,wglext等:扩展库

glee: 一个免费的跨平台,用来减轻你的应用程序加载库的负担的扩展。

glm:一个建立在OpenGL渲染语言(GLSL)规范的,关于3D软件的C++数学库

glew:一个开源跨平台的扩展,提供线程安全的多线程渲染环境,并有自动生成代码的能力。glew提供易用且有效的方式来检查OpenGL扩展和核心功能.基于OpenGL图形接口。window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识 别你的平台所支持的全部OpenGL高级扩展涵数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全 部函数。GLEW支持目前流行的各种操作系统(including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris)

glew下载地址http://glew.sourceforge.net/

opengl与direct3d:

opengl核心是渲染,跨平台。

d3d主要针对游戏包含声音,输入,网络等处理,只使用与windows平台


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【例3-2】使用glut库函数绘制一个真实感的球。 # include < GL/glut.h > /* 初始化材料属性、光源属性、光照模型,打开深度缓冲区等 */ void init(void) { GLfloat light_position [ ] = { 1.0, 1.0, 1.0, 0.0 }; glClearColor ( 0.0, 0.0, 1.0, 0.0 );//设置背景色为蓝色 glShadeModel ( GL_SMOOTH ); glLightfv ( GL_LIGHT0, GL_POSITION, light_position); glEnable (GL_LIGHTING); glEnable (GL_LIGHT0); glEnable (GL_DEPTH_TEST); } /*调用GLUT函数,绘制一个球*/ void display ( void ) { glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glutSolidSphere (1.0, 40, 50); //半径为1,40条纬线,50条经线 glFlush (); } /* 定义GLUT的reshape函数,w、h分别是输出图形的窗口的宽和高*/ void reshape (int w, int h) { glViewport (0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode (GL_PROJECTION); glLoadIdentity ( ); if (w <= h) glOrtho (-1.5, 1.5, -1.5 * ( GLfloat ) h / ( GLfloat ) w,1.5 * ( GLfloat ) h / ( GLfloat ) w, -10.0, 10.0 ); else glOrtho (-1.5 * ( GLfloat ) w / ( GLfloat ) h,1.5 * ( GLfloat ) w / ( GLfloat ) h, -1.5, 1.5, -10.0, 10.0); glMatrixMode ( GL_MODELVIEW ); glLoadIdentity ( ) ; } int main(int argc, char** argv) { glutInit (&argc, argv); // GLUT环境初始化 glutInitDisplayMode (GLUT_SINGLE |GLUT_RGB |GLUT_DEPTH); // 显示模式初始化 glutInitWindowSize (300, 300); // 定义窗口大小 glutInitWindowPosition (100, 100); // 定义窗口位置 glutCreateWindow ( argv [ 0 ] ); // 显示窗口,窗口标题为执行函数名 init( ); // 调用init函数 glutDisplayFunc ( display ); // 注册OpenGL绘图函数(一种的特殊调用方式,下同) glutReshapeFunc ( reshape ); // 注册窗口大小改变时的响应函数 glutMainLoop( ); // 进入GLUT消息循环,开始执行程序 return 0; }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值