位置: 编程技术 - 正文

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

  • 定期定额征收如何办理税费认定
  • 无形资产开发阶段计入什么科目
  • 季度对账单 怎么处理
  • 个体户没有办税务登记,产生的房土两税
  • 公司过账什么意思
  • 其他应收款转入实收资本
  • 收到客户不要的定金怎么做账?
  • 企业分立房产税税收政策
  • 地方附加税
  • 营改增工程计价规则
  • 应扣缴税额是什么意思
  • 处置的固定资产
  • 贷款本金余额具体是什么意思
  • 增量留底税额怎么进行确定
  • 进口增值税可以抵扣销项税额吗
  • 年初建账的期初余额
  • win10 100g不够
  • microsoft阻止应用启动
  • win10数字雨
  • 苹果14promax电池掉电很快
  • 无发票 入账
  • 企业接受个人捐赠
  • 电脑开机无法启动怎么解决
  • PHP:Memcached::setMulti()的用法_Memcached类
  • vue的iframe
  • 提租补贴应计入什么科目
  • 增值税专用发票上注明的价款含税吗
  • php数组函数题目
  • t typescript
  • 调参数是什么意思
  • php分页思路
  • php如何做app
  • 软件开发服务费开票税目
  • 没有销售收入月报怎么填
  • 500元以下开收据要交税吗
  • 递延所得税什么时候交
  • 小规模纳税人收入是含税还是不含税
  • python中的装饰器的使用实战
  • 固定资产投资入股是否缴纳增值税
  • webpack怎么优化
  • 无形资产入股后大幅缩水怎么办
  • 公司如何帮员工补缴社保
  • 更正申报失败,维持原申报?
  • 个人所得税定额税率
  • 资本公积的会计处理方法
  • 工程附加税税率
  • 外聘专家机票能抵扣增值税吗
  • 教育培训行业人员
  • 外购固定资产的会计处理
  • 公司认缴没有实缴会有什么风险
  • 土地增值税的预缴
  • 预付账款摊销会计分录
  • 员工拿发票报销怎么做账
  • 出口货物质量不足怎么办
  • 股东分红需要
  • 期末结账后没有余额的科目
  • 电脑安装win8
  • 自己动手在家就可以自己理发视频
  • linux的telnet用法
  • u盘重装系统电脑
  • ubuntu安装后怎么启动
  • centos配置http
  • ubuntu20.04软件中心
  • linux系统基于
  • mac使用命令
  • 组策略禁用u盘怎么打开
  • win7系统的word文档中的工具在哪里
  • win7关闭操作中心图标
  • cocos2dx4.0教程
  • Android游戏开发打砖块
  • JavaScript的21条基本知识点
  • 深入理解python异步编程
  • unity3D利用W,A,S,D让物体移动
  • lint 工具
  • 在Linux下用scp复制文件无需输入密码的技巧
  • 你应该知道的2000个地理常识
  • ug10避让怎么设置
  • 使用jquery实现的项目
  • jQuery中通过ajax调用webservice传递数组参数的问题实例详解
  • 增值税纳税申报表附列资料(三)
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设