所有Windows和DirectX 12设备将很快支持OpenCL和OpenGL

来源:CNBETA  责任编辑:小易  

不会, 效率都是一样的. 不会因为改了点语法就提高效率. 但shader的进化可以做出以前2.0做不

由于并非所有 Windows 设备都对 OpenCL 和 OpenGL 硬件加速技术提供良好的支持,因此游戏开发者经常会发现他们很难在 Windows 上实现对 OpenGL 游戏的支持。为提升应用程序的兼容性,Collabora 正在开发应对此类问题的通用解决方案。具体说来是,其与微软合作构建了 OpenCL 和 OpenGL 映射层。

OpenGl是一个标准,directX是一个产品opengl可以通过扩展立即应用显卡的新功能

访问:

微软中国官方商城 - Windows

让不支持OpenCL的显卡支持OpenCL有点难度,这要求显卡本身开放一定程度的对底层硬件的支持。

1.jpg

(来自:Collbora)

OpenGL 只是图形函数库。DirectX 包含图形, 声音, 输入, 网络等模块。

借助这一方案,Collabora 得以将 OpenCL 1.2 和 OpenGL 3.3 支持带到所有启用的 Windows 和 DirectX 12 设备上。

你问的是opengl,opencl是异构计算用的东西,在window平台dx好,其他平台或跨平台op

2.jpg

GPU 制造商可为其硬件提供 D3D12 驱动程序,并支持 DirectX、OpenCL 和 OpenGL API,而 Collabora 的工作主要分为三个部分:

本文约有一百多张图片,分为多肉植物的白描、素描画、彩铅画、水彩几个部分。信息量较大,建议WIFI下观看。多肉植物之简笔画--图片来源于飞乐鸟出版的《水彩多肉绘》--多肉植物之素描画--图片来源与堆糖----图片来源于百度图片--多肉植物之彩铅画--教程来源于微博@璇子鱼----教程来源于微博@手绘插画教程----教程来源于微博@我是关姐姐---教程来源于微博@我爱彩铅画---教程来源于微博@爱绘画的阿妮---教程来源于微博@内蒙古冰水凝---教程来源于微博@zz你在这里---教程来源于微博@橙子粑粑clb-学画画,学手绘来www.youyix.com--教程来源于微博@zz你在这里---教程来

一个 OpenCL 编译器、一个 OpenCL 运行时,以及一个借助 D3D12 API、在 GPU 上构建和执行命令缓冲区的 Gallium 驱动程序。

一、“印小天遭骗婚”事件由于“插刀门”是因“印小天遭骗婚”事件引出的,所以先简单谈一下印小天被骗婚。据全民星探报道,印小天与妻子已在今年年初离婚,原因是女方骗婚,不仅学历造假,富有家境更有水分,女方甚至在生下孩子后就人间蒸发了,印小天连孩子的面都见不到。对于此事件,印小天做出了如下回应:“婚姻上的失败,我需要检讨和学习。我和父母非常想念孩子,只希望能早日见到他,斯明,爸爸永远爱你!”婚姻的失败对印小天来说打击很大,希望他吸取教训,也希望他可以快快走出阴影。随着时间的推移,这个事件也在渐渐平息,但就在昨天,另一件事覆盖了这个事件的影响,那就是“插刀门”事件。二、“插刀门”事件这个事件发生在好多年

两个组件使用共享的 NIR-to-DXIL 着色器编译器,其中 NIR 是 Mesa 对 GPU 着色器的内部表示,而 DXIL 是微软的内部表示形式。

给手机充电是现在我们每天都要做的事情,可大家知道手机的充电误区么?一些不经意的小习惯可能伤害到了你的手机,这些充电误区90%以上的人都很容易中招,看看你中招了吗?1、长时间过度充电很多人习惯晚上睡前充电,甚至觉得能充的更满,实则不然。电池充满后如果不及时拔掉电源,会让手机一直维持着满电的状态,这样会加快电池的损耗速度。除了会持续损害电池,这样长时间充电还存在着爆炸隐患。因此别再充电一整晚了,在白天给手机充电吧,时间短一点,多充几次也没关系。2、电量完全耗尽再充电经常有朋友会说“把电量用完了再充电”,其实这是错误的做法。如果这样的话,锂电池将会处在过度放电的境地,电池内部的电压比较低,导致无法开

3.jpg

D3D12 驱动程序将使用这种方法来转换那些特定于硬件的着色器,更多细节可参阅 Collabora 的《Introducing Open CL and OpenGL on DirectX》详情页。

准确地讲,开曼群岛是英国在西印度群岛的一块海外领土,由大开曼、小开曼和开曼布拉克三个岛屿组成。金融和旅游业是其主要经济来源。开曼群岛在1978年获得了一个皇家法令,法令规定永远豁免开曼群岛的缴税义务,故而,开曼群岛完全没有直接税收,无论是对个人、公司还是信托行业都不征任何直接税。所以,它也获得了“避税天堂”的美称。也是世界第四大金融中心。全球50家大银行中有47家在这里开设分行,包括百度、阿里巴巴、希捷、汇源果汁、可口可乐、甲骨文、新浪、联通、联想等都有在该地注册公司。在这里,不管你是AppleIBM还是阿里巴巴每年维护费用不超过700刀!另外开曼群岛上市程序和手续和美国是一样的,中国企业家正

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

OpenCL,OpenGL和DirectX三者的区别

 什么是OpenCL?

  OpenCL全称Open Computing Language,是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景。

  

  OpenCL 1.0主要由一个并行计算API和一种针对此类计算的编程语言组成,此外还特别定义了:

  1、C99编程语言并行扩展子集;

  2、适用于各种类型异构处理器的坐标数据和基于任务并行计算API;

  3、基于IEEE 754标准的数字条件;

  4、与OpenGL、OpenGL ES和其他图形类API高效互通。

  什么是OpenGL?

  OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。

  OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。

  Open GL仍然是唯一能够取代微软对3D图形技术的完全控制的API。它仍然具有一定的生命力,但是Silicon Graphics已经不再以任何让微软不悦的方式推广Open GL,因而它存在较高的风险。游戏开发人员是一个有着独立思想的群体,很多重要的开发人员目前仍然在使用Open GL。因此,硬件开发商正在设法加强对它的支持。Direct3D目前还不能支持高端的图形设备和专业应用; Open GL在这些领域占据着统治地位。最后,开放源码社区(尤其是Mesa项目)一直致力于为任何类型的计算机(无论它们是否使用微软的操作系统)提供Open GL支持。

  

  今年08年正式公布OpenGL3.0版本。并且得到了,nv的支持,其官方网站上提供针对N卡的sdk下载。

  什么是DirectX?

  DirectX是一种应用程序接口(API),它可让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3d图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。这样说是不是有点不太明白,其实从字面意义上说,Direct就是直接的意思,而后边的X则代表了很多的意思,从这一点上我们就可以看出DirectX的出现就是为了为众多软件提供直接服务的。

  DirectX是由很多API组成的,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。

  显示部分担任图形处理的关键,分为DirectDraw(DDraw)和 Direct3D(D3D),前者主要负责2D图像加速。它包括很多方面:我们播放mpg、DVD电影、看图、玩小游戏等等都是用的DDraw,你可以把它理解成所有划线的部分都是用的DDraw。后者则主要负责3D效果的显示,比如CS中的场景和人物、FIFA中的人物等等,都是使用了DirectX的 Direct3D。

  OpenCL、OpenGL和DirectX之间不得不说的故事

  业界对Apple的OpenCL的支持将成为它发展的重要因素,早在90年代中期,微软就曾经努力阻止OpenGL成为行业的标准,以推行自己的DirectX显卡软件和游戏工具。微软的Direct X起初的战略是为了推动DOS游戏开发者转向Windows,从此之后它就被绑定在Windows下为PC游戏服务,所以它仅支持Windows。

  断发布新版的DirectX也推动了开发者转向最新版的Windows,比如最新版的DirectX 10就带来了不少Vista专属游戏,从而推动了Vista的销量,然而它并未达到预期的效果,因为Vista的速度阻碍了DirectX10游戏的市场,开发者只能将目标再次转向XP。

  OpenGL和Apple

  OpenGL的前身是高端图形工作站厂商SGI在80年代所开发的IRIS G,它在90年代初期成为了开源的标准。当时微软在它的Windows 95中发布了Direct3D,将它作为OpenGL的竞争对手。而在90年代末,微软曾经和SGI进行了Fahrenheit项目的开发,试图将两者结合起来,但是没有成功。之后微软继续开发DirectX并与GPU厂商合作,留下OpenGL任其发展。

  OpenGL之后几乎逐渐消失,直到90年代末Apple放弃了自己的QuickDraw 3D,将OpenGL作为Mac OS X的官方3D库。Apple的系统给OpenGL程序带来了不少拥护者。之后OpenGL正式被Linux采用,现在主流的游戏平台,包括PSP,PS3 和Wii都支持该技术。

  但是微软的Xbox360例外,它采用了自己的DirectX 图形库,而将OpenGL排除在外。如今OpenGL对DirectX来说比以前更有竞争力了。而微软计划在Windows 7中的DirectX 11增加类似于OpenCL的技术,以实现GPGPU运算。但是Apple的OpenCL能更紧密地与OpenGL代码协同工作,能带来更广泛的支持。 Apple还将OpenCL作为一个免费的,开源的标准,让任何人都能参与到该平台中来。

  OpenGL和OpenCL设计的相似性,使开发者更易于开发。比如在OpenCL下进行数据虚拟化计算,可以把相同的对象在OpenGL上进行图形渲染。同时OpenGL下的图形渲染可以在OpenCL下进行处理和转换。

  OpenCL得到了GPU厂商NVIDIA和AMD的支持,同时支持Apple,SONY,任天堂的平台,还支持Linux和Windows,而且任何公司的开发者都可以参与到该技术的发展中来。

Windows 支持 DirectX 和 OpenGL,为什么大多数 PC 游戏还是 201

OpenGL的硬件兼容性不如DirectX。用OpenGL写一个程序,在nVidia上跑起来了,百分之八十是没法在intel上跑,百分之九十九没法在AMD上跑。OpenGL直到目前为止如果不用DSA的话,设置一个对象的属性还得先绑定,这样一来就使得code变得高度依赖于一个时刻在变的状态,而且很多驱动的实现某些特定的状态下有各种bug,极难调试。例如我之前在intel上跑一个程序,如果不每帧都重新设置一个framebuffer object的render target, 那个framebuffer到了下一帧就莫名其妙的失效了,而在NV和AMD上都没有此问题,但是AMD又出了另外一个问题。

DirectX的好处有微软帮你测试兼容性。一个驱动想拿到WDDM认证,先得跑通积累了十几年的test set,这样一来在实际中遇到问题的可能性就大为减少了。另外DX有开发调试环境的优势,以及更合理的API设计。

虽然说NSight现在也支持OpenGL调试了,但是他现在只支持到OpenGL 4.3。这意味这如果要调试shader,就没法用DSA扩展。而DirectX就不存在这种开发工具支持和新功能只能选其一的问题。

=============

顺便补充一下什么是DSA以及这说明了OpenGL一直以来是多么的傻*。

在OpenGL里面,创建一个纹理、FrameBuffer之类的东西之后,如果要设置这个对象的属性,必须先绑定,整个流程是这样的:

tex = CreateTexture(); //创建对象

BindTexture(0, tex); //把对象绑定在0这个位置

SetTextureParameteter(0, param, value); //把0这个位置的对象的param参数设置成value

简直是愚蠢到家了。因为很多渲染命令都depend on当前绑定的对象,为了设置一个其他对象的值,会破坏当前的绑定,如果自己不恢复回去,剩下的代码可能就不能工作了。

为了解决这个问题,他们在OpenGL 4.5才加入一个叫做直接状态访问(Direct State Access)的扩展,这个扩展是干什么的呢?就是把上述过程变成这样:

tex = CreateTexture();

SetTextureParameter(tex, param, value);

也就是正常人使用的各种API的一贯方式。

把一个常识性的做法引入OpenGL,就成了OpenGL近几年来的一个重大突破性新功能,简直是笑话。你觉得终于能使用正常的API了?不行 - 大部分驱动现在都不支持OpenGL 4.5, intel 只支持到4.2。NV虽然支持,但是你想用NSight调试的话,还是老老实实用4.3以前的API。

编辑于 *-03-26 8 条评论 感谢 分享 收藏 • 没有帮助 • 举报

赞同

17

反对,不会显示你的姓名

龚敏敏,OpenGL、OpenGLES专家

Xi Yang、知乎用户、夜舞 等人赞同

似乎没人提到生态环境问题。dx的生态环境包括很方便的调试工具、资源查看工具、指令流截取工具。。。gl的生态环境只能吃屎。

OpenCL,OpenGL和DirectX的区别是什么

这三个都是api,opencl是gpu通用编程的api,就是用显卡做常规的数*算,而非处理图形。opengl 于是directx 3d类似,都是图形api,用于编程调用显卡画图。前者跨多平台使用,由委员会制度制定接口;后者只能在windows上使用,是微软的api。

显卡opengl4.4和directx12哪个好

这两个引擎各有所长的,具体那个好要看目的是什么. OpenGL经过多年的洗刷,已经成为绘图引擎的标准,OpenGL的绘图质量毋庸置疑,是最高的,OpenGL的编程相对的也会比较复杂,但是上手很简单,OpenGL用来追求完美的绘图精确度,而且通常有各种辅助库可以...本回答被网友采纳

  • 本文相关:
  • OpenCL,OpenGL和DirectX三者的区别
  • Windows 支持 DirectX 和 OpenGL,为什么大多数 PC 游戏还是 201
  • OpenCL,OpenGL和DirectX的区别是什么
  • 显卡opengl4.4和directx12哪个好
  • DirectX12的画面质量现在比openGL如何,哪个更精美?哪个品质更高?我想从这两个里挑一个学...
  • 同时使用opengl和opencl会不会出现效率问题
  • DirectX和OpenGL比较?和显卡有什么关系吗?
  • 我的显卡是GTX970m支持opencl不支持opengl怎么处理
  • OpenGL和DirectX有什么关系
  • opencl4.5与DX12哪个好
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved