位置: 编程技术 - 正文

【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)

  • 怎样理解一般纳税人
  • 怎么算印花税计算器
  • 会计核算职能有哪些特征
  • 何谓运输,交通和交通运输
  • 公司收到待报解预算收入退的款是什么
  • 应税项目和非应税项目起征点一样吗
  • 生鲜配送公司财务制度
  • 税务申报有什么技巧
  • 营改增后还有企业所得税吗?
  • 控股合并的会计准则
  • 退休后兼职收入需要交税吗
  • 普通发票作废怎么验旧
  • 银行有误退款分录怎么写
  • 怎么查公司账户是哪个银行的
  • 水费分割单由哪一方出具
  • 销售商品会计凭证
  • 降低房租
  • 存货的损失计入什么科目
  • 支票结算方式下用其他货币资金账户
  • 工程发票需要进项吗
  • 关联企业之间借款的处理
  • 本月已认证发票还能撤销吗
  • 哪些工资薪酬可以进行税前扣除?
  • 计提工资大于实发工资
  • 2019年基金市场
  • window休眠
  • 财务费用增加记借方还是贷方
  • win10安全中心通知关闭
  • 取得经营所得及其他所得交纳的所得税
  • 政府发放奖励金如何入账
  • 在途物资和材料采购属于存货吗
  • 专利权的期限是指专利权的实际有效期限
  • 房产税计税的税率可分为
  • vue3全局属性
  • 销售返利计入什么费用
  • 增值税防伪税控系统
  • uni-app开发教程
  • framework模块
  • 总公司签合同后将工程给分公司可以吗
  • 股权转让实操
  • gpt gtp
  • chat gpt 国内版免费手机
  • 保险公司应收保费汇报范文
  • 使用筷子就餐会不会传染乙肝病毒
  • 软件增值税即征即退网上备案
  • 社保费怎么做记账凭证
  • syslog ng
  • 小规模企业跨月发票如何冲红
  • 什么情况个税可以扣除
  • 普通发票能做进项吗
  • 车间设备折旧费计入产品成本吗
  • 研发费用加计扣除新税收政策
  • 销售代销货物会计处理
  • 购买土地的入账价值包括什么
  • 实收资本增加印花税税目怎么填
  • 研发费用中专利是什么
  • 用友现金流量明细表
  • 单位给员工购买公积金流程
  • 公司流水账怎么做
  • 安装mysql5.7虚拟机教程
  • freebsd12安装图形界面
  • Win7系统打开蓝牙
  • win 8怎么样
  • pe硬盘安装win7系统教程
  • nomoreporn.exe - nomoreporn是什么进程 有什么用
  • linux电子邮件
  • 虚拟机安装win8系统
  • win8如何禁止电脑自动安装软件
  • 验证用户输入的密码JavaScript代码加文字
  • 怎么在dos下运行
  • unity 优化
  • unity如何成一组
  • 如何自定义手机图标
  • python队列只能一个个读取吗
  • javascript要怎么学
  • python asyncio await
  • 杭州汽车摇号中签率多少
  • 生育登记网上服务大厅山东
  • 税务注销了怎么查看纳税申报表
  • 财税专业全称叫什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设