OpenGL 20岁生日礼物:OpenGL 4.3 和OpenGL ES 3.0发布

osg执行opengl4.3shader报错 问题原因:经过分析,是因为矩阵MVP在客户端CPU里面是double类型,在服务端GPU里是float类型导致。运行案例:运行这篇博客的opengl4.3的例子, 阅读详情

也许像小编一样,很多人对OpenGL 并不了解,甚至是闻所未闻,但相信广大开发人员——特别是游戏开发者,一定对OpenGL不陌生。自SGI(Silicon Graphics)公司于1992年1月发布OpenGL 1.0版本以来,OpenGL已经陪伴大家走过了20个年头。在OpenGL迎来20岁生日之际,Khronos集团宣布推出OpenGL 4.3和面向移动平台的OpenGL ES 3.0,作为其最好的生日礼物。

OpenGL(即开放性图形库Open Graphics Library),是一个三维的计算机图形和模型库,最初是美国SGI公司为图形工作站开发的一种功能强大的三维图形机制(或者说是一种图形标准)。它源于SGI公司为其图形工作站开发的IRIS GL,在跨平台移植过程中发展成为OpenGL。作为一个性能优越的图形应用程序设计界面(API),OpenGL适用于广泛的计算机环境。从个人计算机到工作站和超级计算机,OpenGL都能实现高性能的三维图形功能。

OpenGL本身针对移动端和桌面端有多个版本,它是开发iPhone、Android以及很多控制器和桌面系统3D图形应用和游戏的重要标准之一。目前OpenGL工作小组中的合作伙伴中有多家重量级的厂商,比如AMD、Intel、ARM、NVIDIA、Broadcom、苹果、Google、诺基亚以及像Epic、EA、Unity这样的游戏开发商。

OpenGL ES 3.0

3.0版本的OpenGL ES在OpenGL 3.x 和 4.x的基础上增加了许多新的功能,比如着色器的功能变得更加强大、全面支持32位整数和浮点型数据。

OpenGL ES 3.0可以让GPU处理更复杂的纹理,如任意尺寸的纹理、浮点纹理等。其中最重要的就是新的纹理算法带来了更好的纹理压缩表现(包括ETC2和EAC标准),以及一些像Instance Rendering、Occlusion Queries、Transform Feedback这样的新的硬件加速特性。

这些更新为OpenGL ES的移动开发人员带来很大的便利,之前很多开发人员都会在APK中为不同设备创建不同的textures,但现在他们可以在移动端和桌面端使用相同的组件。由于压缩方法有所改进,现在的压缩包比起以前小了很多,在提升应用程序下载速度的同时,也降低了内存的占用空间。

即使新增了如此多的功能,OpenGL在性能上还是稍稍落后Direct3D 10和Open GL 3.2,其中最大的缺陷是OpenGL ES 3.0不支持几何渲染,这些几何渲染可以生成新的线条和轮廓,使得曲面更加细分:选择一个现有的图形,加入新的线条,让曲线变得更加顺滑,整个图形看起来会更加美观。

OpenGL 4.3

除了OpenGL ES 3.0,Khronos 集团也在桌面端推出了OpenGL 4.3,新版标准不仅带来了更好的图形表现,同时也增加了更多之前没有的效果,比如不同类型的模糊效果。此外,开发者还可以不通过OpenCL直接使用OpenGL技巧来使用运算着色器(compute shaders)释放GPU上的任务。这样开发者可以在游戏中不耗用更多CPU功耗的情况下实现更好的物理和人工智能的模拟。

从当前的现状来看,Open GL仍然是唯一能够取代微软对3D图形技术的完全控制的API。它仍然具有一定的生命力,但是Silicon Graphics已经不再以任何让微软不悦的方式推广Open GL,因而它存在较高的风险。游戏开发人员是一个有着独立思想的群体,很多重要的开发人员目前仍然在使用Open GL。因此,硬件开发商正在设法加强对它的支持。Direct3D目前还不能支持高端的图形设备和专业应用; Open GL在这些领域占据着统治地位。

最后通过一张图来简略回顾下OpenGL 20年的风雨历程:

以NVIDIA公司于2012年3月22日发布的新一代Kepler架构显卡GeForce GTX 680为例,OpenGL的三角形输出能力、像素输出能力、浮点计算能力已经分别达到20前的1800倍、60倍、4830倍。 

PS:关于OpenGL,我们所熟悉的李开复老师在SGI工作的时候就主持过基于OpenGL的多媒体应用的研究,当时开老师曾经希望说服微软采用OpenGL,但最终微软却用自己的亲儿子Direct 3D替代OpenGL。DirectX与OpenGL的战争由此展开。一开始OpenGL有着较大的优势,但自从2001年微软推出DirectX 8,并引入了两项对于整个电脑绘图界来说极为重要的创新与变革Vertex Shader 以及Pixel Shader后形势开始逆转,DirectX 9的推出更是让DirectX开始领先。然而就在数天前,著名游戏开放商Valve发布了一条消息重提当年恩怨,称即便在Windows环境这个主场,Direct X的表现也不如OpenGL。您觉得Direct X和OpenGL孰优孰劣?OpenGL 4.3 和OpenGL ES 3.0的发布能否打败DirectX ?欢迎在文后留下您的评论。

Via TC & arstechnica

Danice 供雷锋网专稿,转载请注明来自雷锋网及作者,并链回本页)
Visual Studio 2019 配置 OpenGL OpenGL VS2019 配置 阅读详情

相关推荐

支持opengl4.3的glew库(64位)

2012.8.6Khronos公布了opengl4.3规范,glew在当天也进行了更新,支持opengl4.3。 这是64位开发包

Blender 安装后出现不支持显卡配置

可以下载“opengl32.dll”解决,把下载好的opengl32.dll复制到与Blender同级文件夹中。需要支持OpenGL 4.3或更高版本的图形驱动程序。补充:如果计算机的版本不对,可能会出现别的问题,opengl32.dll压缩包,可网盘链接自取。安装图形卡的最新驱动程序可以解决此问题。注意:不要放在Blender文件夹中。

fsdfyjdx的博客 1万+

OpenGL4.3需要的库

虽然一直在用Opengl,但是没有系统的学习过,前几天面试一家上海的公司时,被问到管线的知识,回答不上来,准备系统的学习Opengl,然后在csdn上更新自己的学习心得。 语言库 C++开发环境:vs2019,官网下载安装即可。 ...

weixin_44210987的博客 1739

opengl4.3

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 4.3 (平装) The Khronos OpenGL ARB Working Group Dave Shreiner … 官方对OpenGL 4.3的全方位介绍 ***** 20134月29日 Kevi

normallife的专栏 4812

OpenGL 4.3配置教程

OpenGL 4.3配置教程 下载开发包 需要下载的开发包主要包含如下几个组件:freeglut+glew+ OpenGL.Development.Cookbook+源码+GLM+SOIL. Opengl SDK并不存在,寻找真正的OpenGL开发工具 1、下载 这些软件需要FQ才能下载,所以提供了完整压缩包: freeglut (latest version available fr...

weixin_33719619的博客 2171

风雨二十载:OpenGL 4.3规范发布

移动3D图形新规范OpenGL ES 3.0发布的同时,Khronos Group组织也公布了桌面版OpenGL的最新版本 4.3,也算是总给这个3D API二十生日的最好礼物。 1992年,OpenGL 1.0诞生,此后历经二十年发展, 先后衍生了四个世代,功能日渐强大,普及范围也是越来越广。虽然它没有微软DirectX在游戏中那么风光 ,但也在专业图形等领域成为众多开发者的首选,而...

轻轻草原 392

t0.3VS2013配置OpenGL4.3及以上编程环境

学习OpenGL,首先得配置编程环境。由于Windows系统只自带OpenGL1.0版型,要学习4.3版以上的OpenGL就需要配置编程环境。分享我的配置方法,希望对大家有用。我的环境是:Win7 64位系统,VS2013,配置流程大同小异。一、准备工作1、工具下载安装1、安装VS2013支持VS2013的CMake2、下载freeglut(glew-2.0.0-win32.zipglew-2

阿兵-AI医疗的专栏 3156

OpenGLOpenGL4.3常用指令目录

参考OpenGL编程指南 第8版 VAO void glGenVertexArrays(GLsizei n, GLuint *arrays);   返回n个未使用的对象名到数组arrays中,用作顶点数组对象。 void glBindVertexArray(GLuint array);  array 非 0,并且是glGenVertexArrays() 所返回的,那么它将创建...

azri81226的博客 962

OpenGL版本

这里写目录标题OpenGL ES当前版本历史版本OpenGL当前版本历史版本 OpenGL ES 当前版本 OpenGL ES 3.2 and OpenGL ES Shading Language 3.20 历史版本 OpenGL ES 3.1 and OpenGL ES Shading Language 3.10 OpenGL ES 3.0 and OpenGL ES Shading Language 3.00 OpenGL ES 2.0 OpenGL ES 1.1 OpenGL 当前版本 OpenGL

技术学习 796

OpenGL环境搭建指南

想要在计算机上使用 OpenGL C++ 需要进行一系列的安装配置,本章内容以 Windows 操作系统为例,逐步且详细地介绍这些步骤。

Teemo_DC学习笔记 1998

OpenGL程序调试输出

前言:调试输出是OpenGL4.3版本中增加的一种拓展工具。它不仅比glGetError接口提供更多的错误信息,而且还允许通过debugger去定位错误源,是一个十分好用的调试工具。 ...

zjz 8272

OpenGL4.3新特性: 计算着色器 Compute Shader

计算着色器是一个完全用于计算任意信息的 着色器阶段(Stage) 。虽然它可以渲染,但它通常用于与绘制三角形像素无关的任务。概述计算着色器与其他着色器阶段的操作不同。 所有其他着色器阶段都有一组明确的输入值,一些是内置的,一些是用户定义的。 着色器阶段执行的频率由该阶段的性质指定; 例如顶点着色器对每个输入顶点执行一次(尽管有些执行可以通过缓存进行跳过)。 片段着色器执行是由从光栅化过程生成的片段

yofer张耀琦的专栏 1万+

openGL安装

amdgpu-pro。

智能机器人产学研基地 1098

opengl vs2019开发 安装入门 c++

最近在做gis相关的项目,所以顺手学习一下opengl。记录一下安装过程。参考计算机图型学入门。 首先是opengl安装需要的几个库 首先OpenGLGLSL并不需要"安装",但是需要知道显卡是否支持OpenGL4.3。所以需要需要GLView来检测。(理论上从N卡6系列开始中高端都能支持OpenGL 4.3版本了) 接下来是这几个库环境的打包安装: GLFW是一个开源的多平台库,用于桌面上的 OpenGLOpenGL ES Vulkan 开发。它提供了一个简单的 API 来创建窗口、上下.

qq_41760034的博客 791

新起点:OpenGL ES 3.0OpenGL 4.3

SIGGRAPH 2012专业图形大会在洛杉矶开幕第一天,Khronos Group组织就做出了多项重要宣布,其中最焦点的当属新一代移动3D图形标准规范“OpenGL ES 3.0”。 OpenGL ES 3.0汲取了桌面版规范OpenGL 3.3/4.2的不少营养,为这项免费开放的3D图形API带来了大量显著的功能性移动性增强,同时向下兼容已有的OpenGL ES 2.0。 Op...

hulefei29的专栏 568
上一篇: Nuance“背叛”苹果:应用语音助理Nina能对抗Siri吗?
下一篇: 在陌生城市创业前 必须要做的10件事
leiphone
博客等级 码龄15年 995粉丝 1384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值