位置: 编程技术 - 正文

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)

  • 承租方支付租房税费
  • 注册税务师考试2023
  • 股票交易印花税降低
  • 总账套打
  • 买材料通过公司走账合法吗
  • 缴纳印花税的会计凭证
  • 什么是资产负债率
  • 非居民劳务个税怎么计算
  • 政府补贴什么时候确认收入
  • 银行存款可以红字吗
  • 物业采购主要做什么
  • 工商银行资产负债表
  • 商品非正常损耗收取的赔偿款账务处理怎么做?
  • 酒店租金计入什么会计科目
  • 电费发票可以抵扣进项吗
  • 中国公司投资海外有什么限制
  • 技术开发费税收优惠政策
  • 票据结算包括哪几项
  • 预缴企业所得税额怎么算
  • 普通增值税发票跨越可以作废吗
  • 1697511073
  • 预收账款可以计入
  • 国家统计局一套表平台网址
  • 已经抵扣增值税专用发票对方要换票怎么办
  • 公司的现金管理规定
  • 小型微利企业所得税率
  • 车辆理赔款计入什么科目
  • dedecms主页修改
  • php数据库添加失败的原因
  • 分公司吸收新股怎么办
  • vue前端开发规范
  • 2020年外贸企业年终总结
  • 工程施工会计做账流程及会计分录
  • php面向对象优点,缺点
  • javascript创建对象及应用
  • 代销产品的形式有哪些
  • 公司向股东个人借款的会计分录
  • 新公司有免税政策吗
  • 应付职工薪酬的
  • 实收资本何时入账
  • 预缴税款计算表填0.01行吗
  • mysql出现箭头
  • 小规模减免附加税会计分录怎么做
  • 个体工商户核定征收超额怎么缴税
  • 子公司计提的盈余公积合并抵消
  • 代开专票作废了扣了两次税怎么办?
  • 股东退股取现怎么处理
  • 客户付款是借方还是贷方
  • 会计核算是否健全划分为
  • 金税盘清卡怎么操作视频
  • 贸易公司的成本怎么做
  • 车间成本项目如何结转
  • 工作地变更社保卡怎么办
  • mysql数据库高可用方案
  • sqlserver数据库怎么导出
  • xp系统的ie浏览器无法打开该网页怎么办
  • pd虚拟机安装安卓系统
  • 什么是微软软件
  • win10系统如何查看激活状态
  • 在Linux系统中安装镜像步骤
  • win7系统安装虚拟机
  • 虚拟机安装redhat没有图形界面
  • 天气8.2.0.308版本
  • Win10系统CMD有哪些新功能? Win10 CMD命令提示符的七大使用技巧
  • perl chr
  • cocos 2d x
  • nodejs截图
  • 批处理怎么操作
  • 你必须知道的最新婚姻法
  • shell获取当前脚本的进程
  • js日历控件代码和效果
  • unityugui
  • jQuery AJAX timeout 超时问题详解
  • 财税刘毅
  • 单张发票开票限额?
  • 国家税务局39号公告退税
  • 出口退税申报时间是每月15号吗
  • 外经证办理流程在哪个网站申请
  • 三证合一,税号和营业执照不一样可以吗
  • 开企业资信证明怎么办?需要哪些材料?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设