位置: 编程技术 - 正文

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

  • 房产税的征收范围包括农村吗
  • 已启动申报比对异常申报,可以作废嘛清卡吗
  • 出口货物不能退税的原因
  • 销售货物和劳务的税率
  • 股东借款超过一年个人所得税
  • 其他综合收益和综合收益的关系
  • 房屋出租怎么交税?
  • 快消品行业成本结转方法
  • 非货币性资产交换准则
  • 收到货款开的增值税发票怎么写分录
  • 企业年金需要缴纳个人所得税吗
  • 非独立核算的分公司如何报税
  • 本期已认证但不想抵扣申报表怎么填写
  • 水产养殖公司的经营范围_问答
  • 房地产企业如何计算增值税
  • 用友t3建新账
  • 增值税要转到营业税金及附加吗
  • 小规模纳税人开了3%的专票还能享受1%
  • 资产委托经营管理合同
  • 固废处理计入什么会计科
  • 社保支付账号是什么
  • 用于研发的设备如何折旧
  • 发票勾选了是否就抵扣了
  • 用于在建工程的固定资产是否可以计提折旧
  • 化妆品的消费税率多少
  • 产品质量监督检验
  • 暂估成本的会计处理
  • 残疾人保障金是强制性的吗
  • 标准差怎么算 例题
  • 收到对方公司开的电子专票怎么入账
  • php字符串函数有哪些
  • 查补的增值税能抵留抵吗
  • windows7使用方法
  • inputtypefile 文件名
  • php和javaweb
  • php 赋值
  • 已入账的发票跨月能用吗
  • 消费税计算包括关税吗
  • 董事费如何计算个人所得税
  • 取得土地使用权的方式
  • ssh -o命令
  • php支付宝和微信在线支付
  • 汽车进项税什么时候抵扣
  • 季度所得税申报表营业收入怎么填
  • 企业所得税季度预缴纳税申报表
  • MySQL中使用FREDATED引擎实现跨数据库服务器、跨实例访问
  • 公租房特许经营权转让
  • 应该免税的增值税是什么
  • 广告牌制作加盟厂家
  • 未分配利润可以弥补亏损吗
  • 维修设备增值税税率
  • 购买汽车轮胎的注意事项
  • 商业折让发票如何开
  • 在胖东来买到过期的食品
  • 亏损合同预计负债
  • 公司员工聚餐属于什么费用
  • 销项负数发票开了需要给对方重开发票吗?
  • win19截屏快捷键
  • XP系统安装不了游戏
  • winserver是什么意思
  • ubuntu做lvm
  • linux系统怎么固定ip地址
  • virtualbox虚拟机
  • xp系统的程序和功能在哪里
  • dxva2.dll是什么意思
  • win8.1安全模式怎么进入
  • node.js入门教程
  • 多态和封装的区别
  • javascript对象的创建方法
  • bootstrap教材
  • linux shell脚本命令
  • python爬虫抓包
  • android:thumb
  • javascript原生函数的源代码
  • js实现dialog
  • jquery动态设置css
  • 双色球兑奖方式选法
  • 个人可以免费开店的平台有哪些
  • 申报期一般是什么时候
  • 我们如何理解税收意义
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设