Open GL是什么?OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库 。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL 。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL 。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口” 。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角 。OpenGL是个与.硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植 。因此 , 支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用 。由于OpenGL是3D图形的底层图形库,没有提供几何实体图元 , 不能直接用以描述场景 。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS等3D图形设计软件制作的DFX和3DS模型文件转换成OpenGL的顶点数组 。在OpenGL的基础上还有Open Inventor、Cosmo3D、Optimizer等多种高级图形库,适应不同应用 。其中,Open Inventor应用最为广泛 。该软件是基于OpenGL面向对象的工具包 , 提供创建交互式3D图形应用程序的对象和方法,提供了预定义的对象和用于交互的事件处理模块 , 创建和编辑3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能力 。OpenGL的发展一直处于一种较为迟缓的态势,每次版本的提高新增的技术很少 , 大多只是对其中部分做出修改和完善 。1992年7月,SGI公司发布了OpenGL的1.0版本,随后又与微软公司共同开发了Windows NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用 。1995年OpenGL的1.1版本面市,该版本比1.0的性能有许多提高 , 并加入了一些新的功能 。其中包括改进打印机支持,在增强元文件中包含OpenGL的调用,顶点数组的新特性,提高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等 。OpenGL 1.5又新增了“OpenGL Shading Language”,该语言是“OpenGL 2.0”的底核,用于着色对象、顶点着色以及片断着色技术的扩展功能 。OpenGL 2.0标准的主要制订者并非原来的SGI,而是逐渐在ARB中占据主动地位的3Dlabs 。2.0版本首先要做的是与旧版本之间的完整兼容性,同时在顶点与像素及内存管理上与DirectX共同合作以维持均势 。OpenGL 2.0将由OpenGL 1.3的现有功能加上与之完全兼容的新功能所组成(如图一) 。借此可以对在ARB停滞不前时代各家推出的各种纠缠不清的扩展指令集做一次彻底的精简 。此外,硬件可编程能力的实现也提供了一个更好的方法以整合现有的扩展指令 。目前,随着DirectX的不断发展和完善,OpenGL的优势逐渐丧失 , 至今虽然已有3Dlabs提倡开发的2.0版本面世,在其中加入了很多类似于DirectX中可编程单元的设计,但厂商的用户的认知程度并不高 , 未来的OpenGL发展前景迷茫 。
软件推荐丨Fyne —— Go 语言开发的易用的 UI 工具包Fyne 是一个 Go 语言开发的易用的 UI工具包,提供基于 OpenGL 的跨平台图形界面应用开发支持 。
示例代码:
示例效果:
完整的工具包:
浅色主题:
点击下方链接,获取软件下载地址↓↓↓
Fyne首页、文档和下载 - Go 的 GUI 框架开发包 - 开源中国
如何用Go语言开发Android应用Go 语言是一个试图结合动态类型和静态类型 , 编译效率和安全性以及语言的易用性等众多特性与一体的一种尝试 。他的另一个目标是支持现代的基于网络的、基于多核的计算 。最后,Go 还是非常快的,他可以在单个计算机上仅仅花费几秒时间构建一个庞大的应用程序 。使用GO语言开发android语言步骤如下:
推荐阅读
- 网络游戏有哪些好玩,网络游戏有那些
- yum安装mysql扩展,yum 安装 mysql
- 如何打篮球ppt,如何打篮球?
- 怎么启动连接mysql 如何连接mysql服务
- protel怎么载入net文件的简单介绍
- 电商玻璃效果如何评价,玻璃评价语怎么写
- jquery十一种选择器,jquery选择器有哪些类型
- vb.net跳出循环 vb跳出当前循环语句
- 小米电视电视软件怎么删除,小米电视软件如何删除