1.openGL是编译a编什么?DX?HDTV?
2.OpenGLä¸Direct3Dçä¸å
3.OpenGL现状
4.OpenCLï¼OpenGLåDirectXä¸è
çåºå«
openGL是什么?DX?HDTV?
OpenGL是个专业的图形程序接口,是源译一个功能强大,调用方便的编译a编底层图形库。OpenGL的源译前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是编译a编一个工业标准的3D图形软件接口,功能虽然强大但是源译维护网页源码移植性不好,于是编译a编SGI公司便在IRIS GL的基础上开发了OpenGL。OpenGL的源译英文全称是“Open Graphics Library”,顾名思义,编译a编OpenGL便是源译“开放的图形程序接口”。虽然DirectX在家用市场全面领先,编译a编但在专业高端绘图领域,源译蜜桃6.0源码OpenGL是编译a编不能被取代的主角。
DirectX是源译一种应用程序接口(API),它可让以windows为平台的编译a编游戏或多媒体程序获得更高的执行效率,加强3d图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。这样说是不是有点不太明白,其实从字面意义上说,Direct就是直接的意思,而后边的活链接源码X则代表了很多的意思,从这一点上我们就可以看出DirectX的出现就是为了为众多软件提供直接服务的。
HDTV是High Definition Television的简称,翻译成中文是“高清晰度电视”的意思,HDTV技术源之于DTV(Digital Television)“数字电视”技术,HDTV技术和DTV技术都是采用数字信号,而HDTV技术则属于DTV的最高标准,拥有最佳的视频、音频效果。HDTV与当前采用模拟信号传输的传统电视系统不同,HDTV采用了数字信号传输。由于HDTV从电视节目的溯源码Ccic采集、制作到电视节目的传输,以及到用户终端的接收全部实现数字化,因此HDTV给我们带来了极高的清晰度,分辨率最高可达×,帧率高达fps,是足够让目前的DVD汗颜的。除此之外,HDTV的屏幕宽高比也由原先的4:3变成了:9,若使用大屏幕显示则有亲临影院的感觉。同时由于运用了数字技术,信号抗噪能力也大大加强,魔兽音效源码在声音系统上,HDTV支持杜比5.1声道传送,带给人Hi-Fi级别的听觉享受。和模拟电视相比,数字电视具有高清晰画面、高保真立体声伴音、电视信号可以存储、可与计算机完成多媒体系统、频率资源利用充分等多种优点,诸多的优点也必然推动HDTV成为家庭影院的主力。
OpenGLä¸Direct3Dçä¸å
OpenGLæ¯ä¸ªä¸ä¸ç3Dç¨åºæ¥å£ï¼æ¯ä¸ä¸ªåè½å¼ºå¤§ï¼è°ç¨æ¹ä¾¿çåºå±3Då¾å½¢åºãOpenGLçå身æ¯SGIå ¬å¸ä¸ºå ¶å¾å½¢å·¥ä½ç«å¼åçIRIS GLï¼ä¸ºäºè§£å³IRISGLçå ¼å®¹æ§ä¸ä½³èè¯ççã
Direct3Dæ¯DirectXçç»ä»¶ä¹ä¸ï¼DirectXæ¯å¾®è½¯å ¬å¸å¤åªä½ææ¯ï¼å¾å¤è¿è¡äºWindows ç¯å¢çæ°æ¸¸æéè¦DirectXãDirectXå å«äºå¯¹Direct3DãDirectDrawãDirectPlayãDirectSoundãDirectInputçæ¾ç¤ºã声é³ä»¥åç³»ç»çç»ä»¶ãç±C++ç¼ç¨è¯è¨å®ç°ï¼éµå®COM约å®ãç®åææ°çæ¬ä¸ºDirectX9.0c,ä½å¨å¾®è½¯çä¸ä¸ä»£æä½ç³»ç»Windows Longhornä¸å°è¢«WGF1.0æå代ã
å¨æ¸¸æé¢åï¼DirectXçå½±ååå·²æ¸æ¸è¶ è¶OpenGL并被大å¤æ°PC游æå¼ååæéç¨ï¼ä½å¨ä¸ä¸é«ç«¯ç»å¾é¢åï¼OpenGLå 为è²å½©åç¡®ï¼ä»ç¶æ¯ä¸è½è¢«å代ç主è§ã
OpenGL现状
OpenGL作为唯一有潜力取代微软在3D图形技术领域主导地位的API,依然保持着一定的生命力。尽管Silicon Graphics不再以让微软感到不悦的方式推广OpenGL,但游戏开发者群体,特别是重要的开发人员,依然在使用OpenGL,促使硬件开发商加强了对它的支持。Direct3D在高端图形设备和专业应用支持方面还存在不足,使得OpenGL在这些领域占据了统治地位。开放源码社区,特别是Mesa项目,致力于为各类计算机提供OpenGL支持,无论它们是否使用微软的操作系统。 中国当前三维游戏开发技术正处在追赶国际水平的关键阶段。在创意、策划、研究开发与实现,以及游戏运营与维护等方面,有大量的知识需要学习和探索。随着Linux操作系统的推广,基于Linux的各种应用软件不断壮大,基于跨平台图形库的跨平台三维游戏开发越来越受到重视。OpenGL作为独立的平台无关的三维图形开发库,在多种语言下进行主框架开发并结合OpenGL函数,可以开发出三维游戏。虽然框架开发的平台相关性导致游戏无法跨平台编译运行,但glut+OpenGL的方式被广泛采用。 然而,glut在支持复杂框架和各种媒体方面表现不佳。在Linux环境下,FLTK等框架平台技术可实现包括按钮在内的较复杂功能,但需要专门的Linux开发环境,这使得许多Window环境下的KDE爱好者难以接受。相比之下,SDL(Simple DirectMedia Layer)作为免费的跨平台多媒体应用编程接口,被广泛用于开发二维游戏。SDL以其优秀的消息框架支持、文件支持和声音支持等特点,成为与微软DirectX相匹敌的成熟技术之一。 截至年8月7日,Khronos Group发布了最新的OpenGL 4.3规范。这一规范的发布标志着OpenGL技术的持续发展,为游戏开发者和三维图形技术从业者提供了更多的可能性和创新空间。扩展资料
OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。OpenCLï¼OpenGLåDirectXä¸è çåºå«
ãä»ä¹æ¯OpenCL?
ããOpenCLå ¨ç§°Open Computing Languageï¼æ¯ç¬¬ä¸ä¸ªé¢åå¼æç³»ç»éç¨ç®ç并è¡ç¼ç¨çå¼æ¾å¼ãå è´¹æ åï¼ä¹æ¯ä¸ä¸ªç»ä¸çç¼ç¨ç¯å¢ï¼ä¾¿äºè½¯ä»¶å¼å人å为é«æ§è½è®¡ç®æå¡å¨ãæ¡é¢è®¡ç®ç³»ç»ãææ设å¤ç¼åé«æ轻便ç代ç ï¼èä¸å¹¿æ³éç¨äºå¤æ ¸å¿å¤çå¨(CPU)ãå¾å½¢å¤çå¨(GPU)ãCellç±»åæ¶æ以åæ°åä¿¡å·å¤çå¨(DSP)çå ¶ä»å¹¶è¡å¤çå¨ï¼å¨æ¸¸æã娱ä¹ãç§ç ãå»ççåç§é¢åé½æ广éçåå±åæ¯ã
ãã
ããOpenCL 1.0主è¦ç±ä¸ä¸ªå¹¶è¡è®¡ç®APIåä¸ç§é对æ¤ç±»è®¡ç®çç¼ç¨è¯è¨ç»æï¼æ¤å¤è¿ç¹å«å®ä¹äºï¼
ãã1ãCç¼ç¨è¯è¨å¹¶è¡æ©å±åé;
ãã2ãéç¨äºåç§ç±»åå¼æå¤çå¨çåæ æ°æ®ååºäºä»»å¡å¹¶è¡è®¡ç®API;
ãã3ãåºäºIEEE æ åçæ°åæ¡ä»¶;
ãã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æ¯æã
ãã
ããä»å¹´å¹´æ£å¼å ¬å¸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çæ¯æå°æ为å®åå±çéè¦å ç´ ï¼æ©å¨å¹´ä»£ä¸æï¼å¾®è½¯å°±æ¾ç»åªåé»æ¢OpenGLæ为è¡ä¸çæ åï¼ä»¥æ¨è¡èªå·±çDirectXæ¾å¡è½¯ä»¶å游æå·¥å ·ã微软çDirect Xèµ·åçæç¥æ¯ä¸ºäºæ¨å¨DOS游æå¼åè 转åWindowsï¼ä»æ¤ä¹åå®å°±è¢«ç»å®å¨Windowsä¸ä¸ºPC游ææå¡ï¼æ以å®ä» æ¯æWindowsã
ããæåå¸æ°ççDirectXä¹æ¨å¨äºå¼åè 转åææ°ççWindowsï¼æ¯å¦ææ°ççDirectX 就带æ¥äºä¸å°Vistaä¸å±æ¸¸æï¼ä»èæ¨å¨äºVistaçééï¼ç¶èå®å¹¶æªè¾¾å°é¢æçææï¼å 为Vistaçé度é»ç¢äºDirectX游æçå¸åºï¼å¼åè åªè½å°ç®æ å次转åXPã
ããOpenGLåApple
ããOpenGLçå身æ¯é«ç«¯å¾å½¢å·¥ä½ç«ååSGIå¨å¹´ä»£æå¼åçIRIS Gï¼å®å¨å¹´ä»£åææ为äºå¼æºçæ åãå½æ¶å¾®è½¯å¨å®çWindows ä¸åå¸äºDirect3Dï¼å°å®ä½ä¸ºOpenGLçç«äºå¯¹æãèå¨å¹´ä»£æ«ï¼å¾®è½¯æ¾ç»åSGIè¿è¡äºFahrenheit项ç®çå¼åï¼è¯å¾å°ä¸¤è ç»åèµ·æ¥ï¼ä½æ¯æ²¡ææåãä¹å微软继ç»å¼åDirectX并ä¸GPUåååä½ï¼çä¸OpenGLä»»å ¶åå±ã
ããOpenGLä¹åå ä¹éæ¸æ¶å¤±ï¼ç´å°å¹´ä»£æ«Appleæ¾å¼äºèªå·±çQuickDraw 3Dï¼å°OpenGLä½ä¸ºMac OS Xçå®æ¹3DåºãAppleçç³»ç»ç»OpenGLç¨åºå¸¦æ¥äºä¸å°æ¥æ¤è ãä¹åOpenGLæ£å¼è¢«Linuxéç¨ï¼ç°å¨ä¸»æµç游æå¹³å°ï¼å æ¬PSPï¼PS3 åWiié½æ¯æ该ææ¯ã
ããä½æ¯å¾®è½¯çXboxä¾å¤ï¼å®éç¨äºèªå·±çDirectX å¾å½¢åºï¼èå°OpenGLæé¤å¨å¤ãå¦ä»OpenGL对DirectXæ¥è¯´æ¯ä»¥åæ´æç«äºåäºãè微软计åå¨Windows 7ä¸çDirectX å¢å 类似äºOpenCLçææ¯ï¼ä»¥å®ç°GPGPUè¿ç®ãä½æ¯AppleçOpenCLè½æ´ç´§å¯å°ä¸OpenGL代ç ååå·¥ä½ï¼è½å¸¦æ¥æ´å¹¿æ³çæ¯æã Appleè¿å°OpenCLä½ä¸ºä¸ä¸ªå è´¹çï¼å¼æºçæ åï¼è®©ä»»ä½äººé½è½åä¸å°è¯¥å¹³å°ä¸æ¥ã
ããOpenGLåOpenCL设计çç¸ä¼¼æ§ï¼ä½¿å¼åè æ´æäºå¼åãæ¯å¦å¨OpenCLä¸è¿è¡æ°æ®èæå计ç®ï¼å¯ä»¥æç¸åç对象å¨OpenGLä¸è¿è¡å¾å½¢æ¸²æãåæ¶OpenGLä¸çå¾å½¢æ¸²æå¯ä»¥å¨OpenCLä¸è¿è¡å¤çå转æ¢ã
ããOpenCLå¾å°äºGPUååNVIDIAåAMDçæ¯æï¼åæ¶æ¯æAppleï¼SONY,任天å çå¹³å°ï¼è¿æ¯æLinuxåWindowsï¼èä¸ä»»ä½å ¬å¸çå¼åè é½å¯ä»¥åä¸å°è¯¥ææ¯çåå±ä¸æ¥ã