位置: 编程技术 - 正文

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)

  • 简易征收预缴税率怎么算
  • 烟叶税税率计算方法
  • 如何处理固定资产长期待摊费
  • 城市维护建设税怎么做分录
  • 防暑降温用品计算方法
  • 外商投资企业啥意思
  • 开具成品油专用发票时,应遵守哪些规则
  • 服务免税销售额
  • 固定资产处置怎么计算
  • 行政事业单位取暖费交个人所得税吗
  • 投资性房地产房租计入什么会计科目
  • 利息收入属于现金流入吗
  • 劳务建筑公司一年可以赚多少
  • 财务会计中的费用
  • 母公司向全资子公司增资
  • 逃避的概念
  • 建筑业的一般纳税人
  • 发放的离职补偿金怎么做账
  • 金融机构在境外
  • 公司向个人购买服务
  • 高新企业奖励补贴交税吗
  • deepin 文件管理器
  • 认证未抵扣的发票购买方能开红字信息表吗
  • 建筑公司支付的预付款担保保函费怎么做账?
  • 银行汇票和银行本票区别图解
  • 溢价对外投资账务处理
  • 承租厂房需要缴纳什么税
  • inclooder.exe
  • u盘格式化技巧
  • php r
  • 商贸宝红冲和红字反冲
  • 支付境外培训费要交税吗
  • 雪花 (© TothGaborGyula/Getty Images Plus)
  • 同一控制下企业合并和非同一控制下企业合并的区别
  • 卡拉公路
  • 猿创征文,新芯设计
  • 数学建模心态崩了
  • rust 入门教程
  • 房屋租赁发票如何免税
  • 物业收取停车费需要业主同意吗
  • 出口不退税需要备案吗
  • 计提工资薪金
  • phpcms怎么样
  • 织梦怎么调用当前栏目下的文章
  • 分享使用护肤品的感受
  • 包工包料意思
  • 改签费可以进项转出吗
  • 会计人员信息采集工作证明模板
  • 固定资产折旧准备属于什么科目
  • 存货跌价准备借减贷增吗
  • 应付账款的入账价值应当包括增值税的进项税额
  • 其它应付款是否可以抵扣
  • 预缴税款如何做账
  • 海关完税凭证如何取得
  • 红字发票最多几个月
  • 住房租金专项附加扣除金额
  • 经营活动产生的现金流量净额计算公式
  • 流量对比
  • 软件开发收费标准
  • 冲红的发票抵扣联要放在凭证里吗
  • mysql操作教程
  • 不用鲁大师
  • win7清理系统垃圾的方法
  • 微软停止更新win7
  • 提高搜索引擎检索效果的方法
  • 将Sublime Text 2固定到Ubuntu启动器的方法
  • win8怎么调亮度调节
  • 把mac屏幕切换到桌面desktop
  • opengl csdn
  • unity3d游戏教程
  • eval()方法
  • nodejs cicd
  • js禁用键盘事件
  • python常见的格式化输出小结
  • 用javascript
  • 办税服务厅怎么开通扣缴端数据下载
  • 荆州市税务局现任名单
  • 上海嘉定南翔房子
  • 呼市地方税务局电话
  • 张家港港区国税局地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设