位置: 编程技术 - 正文

OpenGL Tutorial: (2) Creating an OpenGL Window

编辑:rootadmin

推荐整理分享OpenGL Tutorial: (2) Creating an OpenGL Window,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

接上文(《OpenGL Tutorial: (1) Setting up OpenGL with Visual Studio》)。

创建默认的OpenGL窗口

先给出一个能运行的例子,它创建一个默认的OpenGL窗口并给它填色。如果press 键那么程序退出。

上面这段代码中,创建OpenGL窗口就用到了这么一句:

它当然可以创建OpenGL窗口,但是没有任何的额外的参数,完全由着OpenGL的默认行为。

Screenshots:

控制窗口的位置和大小

把main函数改成:

其中初始化和创建OpenGL窗口的语句是:

运行。这时候你会发现创建出来的OpenGL窗口已经不是一个随意的大小和位置,而是你所期望的结果: Screenshot:

初始化显示模式 glutInitDisplayMode

把初始化和创建OpenGL窗口的语句改成这样的:

OpenGL Tutorial: (2) Creating an OpenGL Window

要关注一下这一句:

glutInitDisplayMode (GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);

GLUT_DEPTH: 告诉OpenGL,我们需要一个z轴。GLUT_DOUBLE: 告诉OpenGL,我们启用双缓冲区。GLUT_RGBA: 告诉OpenGL,我们使用Red, Green, Blue, and Alpha的方式来分配位的Framebuffer。

看一下运行结果:

是怎么一回事呢?恰恰是因为我们设置了GLUT_DOUBLE的结果。

改一下renderScene函数:

注意我们加了这一句:

glutSwapBuffers ();

这一句的作用是交换缓冲区,就是在设置GLUT_DOUBLE时创建的那两个缓冲区。刚刚我们执行的结果是空白,实际上图像画在了“后台”的那个缓冲区,现在我们把它置换到前台来。 执行结果: 你看,这个熟悉的紫色矩形框又能看到了。

为什么要设置双缓冲区呢?因为,当我们画复杂的图形的时候,绘制的过程可能导致屏幕闪烁,如果我们先让它在“后台”的缓冲区里画着,画好了以后再置换到“前台”的缓冲区里来,这样就消除了闪烁了。

今天先写到这里,后面我们再来详细解释。

参考文章《CREATING AN OPENGL WINDOW》附:系列文章索引OpenGL Tutorial: (1) Setting up OpenGL with Visual Studio OpenGL Tutorial: (2) Creating an OpenGL Window

VS配置OpenGL 1.下载glut库glut库地址为:

Android OpenGL ES(三)----编程框架 首先当然是创建Android项目,你可以选择最新的AndroidStudio也可以选择eclipse都是一样的。我们重点讲解开发OpenGLES的流程1.定义顶点着色器和片段着色器第

openGL 坐标系的互相转换 openGL坐标系包含旋转,平移,缩放被塞在一个矩阵里面。坐标系之间的转换基础是矩阵的运算。每一个矩阵代表的坐标系,就是是原点坐标系通过旋转

标签: OpenGL Tutorial: (2) Creating an OpenGL Window

本文链接地址:https://www.jiuchutong.com/biancheng/369431.html 转载请保留说明!

上一篇:Tutorial 8:Scaling Transformation

下一篇:VS2012配置OpenGL(vs2012配置opencv4.8)

  • 本期应补退税额和期末未缴税额
  • 关税是直接税还是间接税
  • 医院这么开发票
  • 银行对账单放前面还是放后面
  • 增值税现代服务业6大行业
  • 公司购买的打印机
  • 劳务费发票是个人开还是公司开
  • 人力资源公司代招的岗位可以去吗
  • 红字发票怎么回事
  • 房地产开发企业资质等级有几个
  • 到银行购买结算凭证
  • 持有待售固定资产为什么不计提折旧
  • 货发出款未收的会计分录怎么做?
  • 发票开出来对方不走账会怎么样?
  • 增值税普通发票税率
  • 公司买理财产品的账务处理
  • 小规模咨询费税率是多少
  • 高管怎么样
  • 支付土地出让金怎样做账
  • 其他应付款质保金到期怎么附单据
  • 出纳可以做记账表格吗
  • 成品油电子普通发票开错了
  • 上月发票冲销怎么弄
  • 车辆购置税完税证明电子版二维码怎么扫
  • 推广服务费收入如何核算成本
  • 企业如何选择会计准则
  • 影响资金等值的三个因素
  • post-secondary program
  • 2021年8月现在还能去武汉吗
  • 微信聊天记录备份和恢复
  • 计算机怎么设置长亮
  • macwifi配置
  • 在php中,字符串有哪些表示形式
  • 在php中,字符串有哪些表示形式
  • 退回的企业所得税怎么做账
  • windows 查询进程
  • 技术转市场到底是不是个正确的选择
  • 如何使用wireshark抓取HTTP数据包?
  • fastjson 解析
  • sql数据库语句基本语法
  • html代码form
  • 圣诞节英文祝福语50字
  • 印花税申报成功后在哪缴税
  • 年报超时了可以补报吗
  • 网上报税优点与缺点
  • php返回json数据交给js读出来是数字,不是字符串
  • sqlsever无法连接到服务器
  • xadmin配置
  • rbac权限管理设计
  • 公司购买基金入什么科目
  • 增值税专用发票上注明的价款含税吗
  • 股东买房能在银行贷款吗
  • 超市小规模税负怎么算
  • 淘宝上买资料可以退吗
  • 计提折旧会计分录怎么做
  • 固定资产的计提折旧方法有哪些
  • 购进原材料发生的保险费
  • 银行手续费在现金流量表怎么填
  • 委托加工的应税消费品是指
  • 应收账款有什么
  • 百旺金赋领回来的发票怎么读入
  • 无形资产摊销如何记账
  • 成本会计做什么工作内容
  • 会计一般采用什么科目
  • 如何为报表指定数据源?
  • 服务器控制电脑
  • linux ftp 服务
  • win10系统的文件夹选项在哪里
  • linux php 开发教程
  • win7无法安装怎么办
  • cocos开发android游戏
  • [OpenGL ES 04]3D变换实践篇:平移,旋转,缩放
  • easyui validatebox验证
  • JAVAscript字符串类型单引号和双引号意一样吗
  • excel 级联
  • css中文字垂直排列
  • 谷歌chrome浏览器网页版网址
  • auto.js获取剪切板内容
  • 重庆市怎么在网上打印章程
  • 个体户定额纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设