位置: 编程技术 - 正文
推荐整理分享学习OpenGL笔记(1.1)——first program: entering main(opengl learn),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:opengl教学,opengl怎么学,opengl基础知识,opengl基础教程,opengl入门视频教程,opengl基础教程,opengl基础教程,opengl入门视频教程,内容如对您有帮助,希望把文章链接给更多的朋友!
(initialize the GLUT library)初始化GLUT库(glut.lib),(the first GLUT functions)应在其它GLUT函数和OpenGL函数之前进行调用。glutInit()接收来自main函数的参数,程序可以具体实现相关的方式来使用这些参数。
参数argcint*一个指针,指向从main()函数传递过来的没更改的argc变量。argc记录的是命令行中输入参数的数目。
argvchar**一个指针,指向从main()函数传递过来的没更改的argv变量。argv是一个拥有argc个元素的字符串数组,每个元素保存一个命令行中输入的参数。
示例描述:初始化GLUT库
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)函数原型void glutInitDisplayMode(unsigned int mode)概述 (中英文并非直译,但可以相互理解)(Configures the type of the windows we want to use with our application)
设置初始显示模式。
(There are lots of options that we can add to configure windows with more OpenGL features. )
有许多可以选择的模式(mode),组合的话用|连接。
模式对应宏定义意义GLUT_RGB0x指定 RGB 颜色模式的窗口GLUT_RGBA0x指定 RGBA 颜色模式的窗口GLUT_INDEX0x指定颜色索引模式的窗口GLUT_SINGLE0x指定单缓存窗口GLUT_DOUBLE0x指定双缓存窗口GLUT_ACCUM0x窗口使用累加缓存GLUT_ALPHA0x窗口的颜色分量包含 alpha GLUT_DEPTH0x窗口使用深度缓存GLUT_STENCIL0x窗口使用模板缓存GLUT_MULTISAMPLE0x指定支持多样本功能的窗口GLUT_STEREO0x指定立体窗口GLUT_LUMINANCE0x窗口使用亮度颜色模型示例描述:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
glutInitWindowSize(,)概述 (中英文并非直译,但可以相互理解)(Specifies the size of the window)
设置窗口的大小。
(You can also query the size of the display device to dynamically size the window relative to you computer screen.)
可以不用glutInitWinndowSize函数来改变窗口大小,可以用其他函数来使得窗口进行动态变化,这个是肯定的。
但是用glutInitWindowSize 能不能动态地改变窗口大小就不知道了,留待以后尝试。
参数参数是屏幕像素点(pixel)(0,0)点即原点是屏幕的左上方。第一个参数是横向的,第二个参数是纵向的。示例描述:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
glutCreateWindow(“ ”)概述(Which dose just what it says).它的作用与函数名一样。
(The window created by the function matching the display model you requested withglutInitDisplayMode()).
创建的窗口性质和之前定义的显示初始模式的性质是匹配的。
参数暂时只是知道“ ”可以是窗口名称示例描述:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------glutDisplayFunc(display)概述(glutDisplayFunc(),sets up the display callback,which is the routine GLUT will call when it thinks the contents of the window nedd to be updated.)
glutDisplayFunc(func)是glut非常讨人喜欢的一个功能,它注册了一个函数,用来绘制OpenGL窗口,这个函数里就写着很多OpenGL的绘图操作等命令,也就是我们主要要学习的东西。具体来说呢,就是设置一个函数当需要进行画图时就调用这个函数。
(Here,we provide the GLUT libraray a pointer to a function:display())
注意display的函数返回是空。
参数void fun(void) 是一个空的函数示例---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------glutMainLoop()概述(which is an infinite loop that works with the window )
glutMainLoop进入GLUT事件处理循环。在一个GLUT程序中,这个例程被调用一次 。一旦被调用,这个程序将永远不会返回 。无限死循环。
(It can call the function registered with glutMainLoop()).
它将调用必要的任何已注册的回调。
(An important safety tip is that sinceglutMainLoop()is an infinite loop,any commands placed after it aren't executed.)
在glutMainLoop() 函数之后的所有函数都不会被执行。
示例位图和字体 opengl除了渲染几何数据,还可以渲染两种重要类型的数据:1.位图:一般用于表示字体中的字符。2.图像和数据:可以被扫描或计算。相同点:都采用矩
GLSurfaceView中GL相关资源销毁问题 1.YY下传统的GLUT框架没有context概念,Main函数,Display,mouse,keyboarrd,reshape,这些回调函数中都可以直接调用OpenGL命令。纹理等gl相关资源需要自己管理
测试Qt Quick在各个平台上的3D渲染性能 测试QtQuick在各个平台上的3D渲染性能Qt是一个跨平台的GUI框架,它的QtQuick更是支持结合OpenGL原生的代码进行渲染。我想将我以前写的程序整合到QtQuick上
标签: opengl learn
本文链接地址:https://www.jiuchutong.com/biancheng/373117.html 转载请保留说明!上一篇:【0-环境配置】Freeglut与Glew(环境配置怎么配置)
下一篇:位图和字体(位图字体图片)
友情链接: 武汉网站建设