位置: 编程技术 - 正文

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)

  • 应交税费是什么科目借贷方向
  • 什么是本期应纳税所得额
  • 用友T6自定结转怎样设置
  • 实际开票金额和申报金额不符
  • 增值税发票税号0和O
  • 进项税转出的发票怎么认证
  • 离婚财产分割涉及偷税漏税可以移交税务局调查吗
  • 股权转让有哪些方式
  • 个人所得税补交税
  • 飞机票改签费用怎么算1000块
  • 关联企业如何取消
  • 入库出库模板
  • 样机销售是什么意思
  • 增值税普通发票几个点
  • 新注册公司季度资产为零
  • 财产清查账务处理步骤
  • 银行转账结算凭证按照填制手续和内容
  • 融资租赁开始时的账务处理
  • 工程承包付款最佳方式
  • win11开机后
  • 提供加工服务的企业
  • php文件类型码
  • 代个人多交的社保怎么查
  • 进口增值税公式计算公式
  • win7纯净版系统之家
  • php数组有哪几种类型
  • 金融机构与小微企业借款合同印花税
  • 'The Wave' sandstone formation in Coyote Buttes North, Paria Canyon-Vermilion Cliffs National Monument, Arizona (© Dennis Frates/Alamy)
  • PHP:imagecolortransparent()的用法_GD库图像处理函数
  • php加载mysql
  • 缴费单位未按规定缴纳社会保险费的按日加收
  • 长期借款的会计处理例题
  • 应付债券的会计处理
  • 销售赔偿款增值税和所得税
  • 深度学习知识点简单概述【更新中】
  • linux查询ifconfig和cd命令的完整文件名
  • 汇算清缴的所得税怎么做账
  • 土地作为无形资产入账依据
  • 发票内容类型怎么填
  • 手机做h5
  • 材料暂估入库的依据有哪些
  • 建筑业 成本
  • 防伪税款服务费抵扣
  • 政府会计业务活动费用会计分录
  • 收到税务局退回的个税手续费怎么入账
  • 房东房租不开票违法吗
  • 财政拨入的专项款专账怎么做
  • 固定资产的定义是什么?
  • 民间非营利组织会计科目
  • 按差额缴纳增值税
  • 事业单位没有
  • 缴纳上月增值税及本月预缴增值税
  • 上期计提的费用怎么入账
  • 收不回来的应收账款会计分录
  • 信息技术服务费可以全额抵扣吗
  • 进出口货物报关单
  • 平均净资产是什么意思
  • 通过zeno实现加速屏幕显示操作教程
  • 在windows 10
  • win10声音突然变得很沉闷
  • win7系统重装后没声音
  • 怎么设置开机启动项?
  • f_00000e是什么文件
  • win7系统怎么加入工作组
  • linux装完显卡驱动分辨率低
  • cocos2dx3d2d结合
  • Unity3D Editor类(Inspector) 编写经验总结
  • opengles入门
  • jq读取json
  • android floatbutton
  • 魅蓝notezol
  • unity3d如何发布ios教程
  • nodejs开发web
  • art+project
  • 河南灵活就业缴费截止时间
  • 安徽省税务局发票真伪查询平台
  • 撤销存款证明需要什么手续
  • 佛山市国家税务局科长陈科长
  • 湖南兴广地税务师事务所有限公司(兴广集团有限公司)
  • 从哪个国家进口牛肉
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设