位置: 编程技术 - 正文

【OpenGL基础篇】——使用面向对象方法封装OpenGL函数(一)(opengl使用教程)

编辑:rootadmin

推荐整理分享【OpenGL基础篇】——使用面向对象方法封装OpenGL函数(一)(opengl使用教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl基础教程,opengl详解,opengl使用教程,opengl详解,opengl使用教程,opengl基础知识,opengl基础教程,opengl基础知识,内容如对您有帮助,希望把文章链接给更多的朋友!

OpenGL是一个开源的图形库,既可开发二维图形软件,也可开发三维图形软件。许多知名应用就是基于OpenGL开发出来,如著名的Artoolkit和Unity3D。

GLUT是代表OpenGL应用工具包,英文全称为OpenGL Utility Toolkit,是一个和窗口系统无关的软件包,它由Mark Kilgard在SGI时写的。作为AUX库的功能更强大的替代品,用于隐藏不同窗口系统API的复杂性。(百度百科)

因为OpenGL的API是底层图形库API,使用起来还是有些复杂,所以,我打算使用面向对象的方法将OpenGL和GLUT库的函数封装成一个图形类库,顺便学习一下计算机图形学(这学期的课)的基础知识以及面向对象的编程方法。懂了这些底层的东西,对理解Unity3D这样的游戏引擎也有好处。

使用的是GLUT,所以只实现了一些简单的功能,以后慢慢扩展,这只是(一)。

虽然是使用C&#;&#;来编写类库,但还是融入了一点Java的东西,比如,类库中的所有类都是Object的子类(用于实现多态)。

下面是Object类:

然后是一个Window类,就是窗口(以前学MFC等语言时,最怕的就是API和可选择解决方案多,所以我在这里只写了少数几个函数,毕竟只是为了学习)【OpenGL基础篇】——使用面向对象方法封装OpenGL函数(一)(opengl使用教程)

下面是实现的Cpp文件:

然后是一个颜色Color类,暂时只支持RGB模式,从现在起,我会尽量把声明和定义都写在一个文件里,就像Java那样。

接下来就是绘图里面最重要的了——Point,有了点,才能有一切

最后就是最重要的应用程序Application类了,这个类用于添加窗口以及图像重绘刷新

下面是一个测试文件,只画了一条紫色虚线:

出来的效果如下图:

黑色的屏幕中间有一条紫色的虚线。

今天的代码漏了很多重要的东西,比如窗口背景颜色的设定等,以后随着学习的慢慢深入,会一一添加。

【OpenGL基础篇】——使用面向对象方法封装OpenGL函数(二) 今天封装了一个Line类,负责在昨天写的窗口上绘制线条。OpenGL绘图是通过给glBegin函数设置参数达成的,绘制线条有三个不同的参数:GL_LINES:绘制连接两

OpenGL编程—>error解析 错误1errorC:编译器的堆空间不足c:programfiles(x)microsoftvisualstudio.0vcincludeglglew.hConsoleApplication8解决方案:#ifdefined(__gl_h_)||defined(__GL_H__)||defined(__X

OpenGL编程->图形处理器的对比 最近初学GLSL编程,可是自己电脑出现的结果很是头痛,幸亏自己的电脑是双显卡的,设置改了一下,就得到一下的结果:

标签: opengl使用教程

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

上一篇:OpenGL 资源汇编(opengl源码在哪里)

下一篇:【OpenGL基础篇】——使用面向对象方法封装OpenGL函数(二)(opengl1)

  • 不征税收入和免税收入所对应的成本与费用能否税前扣除
  • 8月现金收入9月存银行如何做账
  • 税金及附加和应交税费的关系
  • 处置使用过的车辆
  • 管理费用贷方有哪些递减
  • 建筑企业小规模纳税人升为一般纳税人条件
  • 未达起征点标志
  • 租地建厂房合同
  • 小企业会计准则适用于哪些企业
  • 新的企业所得税暂行条例
  • 个人所得税如何申报
  • 接受现金捐赠怎么写分录
  • 主营业务收入如何红冲
  • 物流快递代收货款怎么退
  • 金税盘发票号码确认显示不全
  • 分支机构的企业所得税申报流程是什么
  • 一般纳税人增值税申报操作流程
  • 跨区域施工要交什么税
  • 税收奖励计入什么科目
  • 考勤扣款是税前还是税后
  • 认缴制的期限是多久
  • 记账公司如何平衡收入成本费用?
  • 财务报表批准日是哪一天
  • 公允出资税务处理怎么做?
  • 已收发票是什么意思
  • 财政指标文和拨款流程
  • 库存商品进货价怎么算
  • 推广费属于什么税收编码
  • 房地产企业使用什么准则
  • 三栏式明细账目录填写范本
  • fsmb32.exe是什么进程 作用是什么 fsmb32进程查询
  • PHP:curl_multi_init()的用法_cURL函数
  • php rewind
  • 公允价值变动损益会计处理
  • 股东怎么签合同
  • php的file函数
  • 乱账怎么调整
  • php删除语句
  • 发放职工薪酬账务怎么做
  • 现金流量表中如何考虑折旧费
  • web主要的请求方式有几种
  • php curl 封装
  • 汽车年审检测费收费标准
  • 资产负债表里长期股权投资是什么意思
  • 当月没有发放工资是不是就不用申报个税
  • 计提和支付可以录在一张凭证吗
  • 企业所得税免税项目
  • 应纳税所得额是净利润吗
  • 企业流动资产周转率低说明什么
  • 服务不动产和无形资产本期数,第19栏
  • 厂家给经销商的补贴怎么开票
  • 补发工资怎么补发
  • 应交税费其他收入会计分录
  • 个人取得的劳务报酬需要交增值税吗
  • sql里case
  • mysql5.7免安装版配置
  • 如何查看win10版本是不是正版
  • win10预览版bug
  • rapimgr.exe - rapimgr进程是什么文件.有哪些作用
  • win10 11月累计补丁KB3097877更新后导致应用崩溃该怎么办?
  • neoDVD.exe - neoDVD是什么进程 有什么用
  • w10qq图标不显示
  • shell脚本读取ini文件
  • [置顶]bilinovel
  • jquery左侧导航栏
  • angular 图片懒加载
  • 深入理解中国式现代化
  • node.js详解
  • nodejs如何发布服务
  • javascript如何定义一个函数
  • pythone爬虫
  • python文件rb
  • 北京市国家税务局发票查询平台
  • 开发商卖商铺需要哪些资质条件?
  • 缴纳了车辆购置税能退吗
  • 防伪开票系统操作流程
  • 双流税务总局电话
  • 进项发票勾选认证如何导出明细
  • 土地出让金契税计税依据
  • 地税可以跨区交吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设