(Translated by https://www.hiragana.jp/)
OpenGL - 维基百科,自由的百科全书 とべ转到内容ないよう

OpenGL

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん
OpenGL
OpenGL Logo
原作げんさくしゃ矽谷圖形ずけい公司こうし
開發かいはつしゃKhronos Group
くび发布1992ねん6がつ30にち,​32ねんまえ​(1992-06-30
とうぜん版本はんぽん
  • 4.6 (2017ねん7がつ31にち;穩定版本はんぽん)[1]
編輯維基數據鏈接
编程语言C语言
操作そうさけいまたが平台ひらだい
类型應用おうようほどじょせっこう
许可协议多種たしゅ[2]
网站https://www.opengl.org/

OpenGL英語えいごOpen Graphics Library譯名やくめい開放かいほう圖形ずけいあるもの開放かいほうしき圖形ずけい”)よう渲染2D3Dりょう圖形ずけいてきまたがかたりげんまたが平台ひらだいてき應用おうようほどじょへんほどせっこう(API)。這個せっこうゆかりきん350不同ふどうてき函數かんすう调用組成そせいようらいしたがえ簡單かんたんてき圖形ずけいもとせい複雜ふくざつてきさん維景ぞう。而另一种程式介面系统是仅用于Microsoft WindowsうえてきDirect3D。OpenGL常用じょうようCADきゃどきょなずらえじつさかい科學かがく視覺しかくほどしき電子でんし遊戲ゆうぎ開發かいはつ

OpenGLてきだかこう實現じつげん利用りよう图形加速かそくかたけん存在そんざいWindows部分ぶぶんUNIX平台ひらだいかずMac OS。這些實現じつげん一般由顯示裝置廠商提供,而且非常ひじょう依賴いらい於該しょうしょう提供ていきょうてきかたたい開放かいほう原始げんしはこしきMesa一個純基於軟體的圖形API,它的だい码兼よう於OpenGL。ただしゆかり于许证的原因げんいん,它只ごえしょういち个“非常ひじょう相似そうじてきAPI。

OpenGL规范よし1992ねん成立せいりつてきOpenGL构评审委员会(ARB)维护。ARBよし一些對建立一个统一的、普遍ふへん可用かようてきAPIとく别感兴趣てき公司こうし组成。すえOpenGLかんかた网站,2002ねん6がつてきARB投票とうひょうなり包括ほうかつ3DlabsApple ComputerATI TechnologiesDell ComputerEvans & SutherlandえいEvans & SutherlandHewlett-PackardIBMIntelMatroxNVIDIASGISun MicrosystemsMicrosoft曾是创立なり员之いちただしやめ于2003ねん3がつ退出たいしゅつ

設計せっけい

[编辑]
圖形ずけいかんせん

OpenGL規範きはん描述りょうせい2D3D圖形ずけいてき抽象ちゅうしょうAPI。儘管這些API以完ぜん通過つうか軟體實現じつげんただし它是ためだい部分ぶぶんあるもの全部ぜんぶ使用しようかたからだ加速かそく設計せっけいてき

OpenGLてきAPI定義ていぎりょう若干じゃっかんきゃくはしほどじょ調ちょうようてき函數かんすう,以及いち些具めいせいがた常數じょうすうれい如,常數じょうすうGL_TEXTURE_2D對應たいおうてきじゅうしんせい整數せいすうため3553)。雖然這些函數かんすうてき定義ていぎ表面ひょうめんじょう類似るいじCへんほどげんただし它們げん獨立どくりつてきよし此,OpenGLゆう許多きょたげん綁定,值得いちひさげてき包括ほうかつJavaScript綁定てきWebGLもと於OpenGL ES 2.0ざいWebりゅうらんなかてき進行しんこう3D渲染てきAPI);C綁定てきWGL、GLXCGL;iOS提供ていきょうてきC綁定;Android提供ていきょうてきJavaC綁定。

OpenGL僅語ごと無關むせき,而且平台ひらだい無關むせき規範きはんせきひさげ獲得かくとく管理かんりOpenGL上下じょうげぶん相關そうかんてき內容,而是はた這些作為さくいほそぶし交給そこそうてきまどこう系統けいとう同樣どうようてき原因げんいん,OpenGL純粹じゅんすいせんちゅう于渲しみ,而不提供ていきょう輸入ゆにゅうおとしき以及まどこう相關そうかんてきAPI。

OpenGLいち不斷ふだん進化しんかてきAPI。新版しんぱんOpenGL規範きはんかい定期ていきよしKhronos Group發布はっぷしん版本はんぽん通過つうか擴展APIらい支持しじ各種かくしゅしんこうのうまい版本はんぽんてきほそぶしゆかりKhronos Groupてき成員せいいん一致いっち決定けってい包括ほうかつあらわしょうしょう作業さぎょう系統けいとう設計せっけい人員じんいん以及類似るいじMozillaたにてき一般いっぱんせい科技かぎ公司こうし

じょりょう核心かくしんAPI要求ようきゅうてきこうのうそとGPU供應きょうおうしょう通過つうか擴展てき形式けいしき提供ていきょうがくがいこうのう。擴展可能かのうかい引入しんこうのうしん常數じょうすうなみ可能かのうある取消とりけし現有げんゆうてきOpenGL函數かんすうてききりせいしかきさき一个扩展就分成两部分发布:包含ほうがん扩展函数かんすう原型げんけいてき头文けん和作わさく为厂しょうてき设备驱动供應きょうおうしょう使用しよう擴展公開こうかい定義ていぎてきAPI而無需獲得かくとく其他供應きょうおうしょうあるKhronos Groupてき支持しじ,這大だい增加ぞうかりょうOpenGLてきれい活性かっせい。OpenGL Registryせめ所有しょゆう擴展てき收集しゅうしゅう定義ていぎ

まい擴展與一よいち簡短かんたんてき標識ひょうしき關聯かんれん,該標識符もと開發かいはつ公司こうしてき名稱めいしょうれい如,えいえらたち(NVIDIA)てき標識ひょうしきNV。如果供應きょうおうしょう同意どうい使用しようしょうどうてきAPIらい實現じつげんしょうどうてきこうのう麼就ようEXTしるべ。這種情況じょうきょう更進こうしんいち,Khronos Groupてき構評しん委員いいん(Architecture Review Board,ARB)正式せいしき批准ひじゅん該擴てん麼這就被しょうためいち標準ひょうじゅん擴展”,標識ひょうしき使用しようARB。だいいちARB擴展GL_ARB_multitexture。

OpenGLまい新版しんぱん本中ほんなか引入てきこうのう特別とくべつARBEXT類型るいけいてき擴展,通常つうじょうよし數個すうここう實現じつげんてき擴展こうのう組合くみあい而成。

ぶん

[编辑]

OpenGL普及ふきゅうてき部分ぶぶん原因げんいん其高質量しつりょうてきかんかたぶんけん。OpenGL構評しん委員いいんかいずい規範きはん一同いちどう發布はっぷいち系列けいれつ包含ほうがんAPI變化へんか更新こうしんてきさつ。這些しゅさついん其封めん顏色かおいろ而眾しょ周知しゅうち

  • べにたからしょ

Dave Shreiner, Graham Sellers, John M. Kessenich and Bill M. Licea-Kane. 2013. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3(8th Edition). Addison-Wesley Professional. ISBN 978-0321773036.

  • だいだいたからしょ

Randi J. Rost, Bill M. Licea-Kane, Dan Ginsburg, John M. Kessenich, Barthold Lichtenbelt, Hugh Malan and Mike Weiblen. 2009. OpenGL Shading Language (3rd Edition). Addison-Wesley Professional. ISBN 978-0321637635

相關そうかんほどじょ

[编辑]

早期そうきてき OpenGL 版本はんぽんかい一同发布配套的 GLU 库,提供ていきょう一些同时代硬件尚不支持的简单功能。GLU さいきさき一次更新规格要求是在 1998 ねん,对やめ弃用てき OpenGL 特性とくせいゆう赖。

还有几个库也建立こんりゅうざいOpenGLうえ提供ていきょうりょうOpenGL本身ほんみぼつゆうてきこうのう

とく别是,OpenGL PerformerえいOpenGL Performer库——よしSGI开发并可以在IRIXLinuxMicrosoft Windowsてきいち些版本上ほんかん使用しよう,构建于OpenGL,建立こんりゅう实时视化仿真ほどじょ

とう开发しゃ需要じゅよう使用しよう最新さいしんてきOpenGL扩展时,往往おうおう需要じゅよう使用しようGLEWえいGLEWくらあるものこれGLEEえいGLEE提供ていきょうてきこうのう以在ほどじょてき运行判断はんだんとうまえかたけん支持しじしょう关的扩展,防止ぼうしほどじょくずし溃甚いたり造成ぞうせいかたけん损坏。這類利用りよう動態どうたい技術ぎじゅつ(dlsym、GetProcAddressとう函數かんすうさがせひろ各種かくしゅ擴展てきしんいき

上下じょうげぶんあずかまどこう套件

[编辑]

OpenGL 上下じょうげぶん英語えいごOpenGL contextてき创建过程相当そうとう复杂,ざい不同ふどうてき操作そうさけいうえ也需よう不同ふどうてき做法。よし此很ゆう戏开发和よう户界めん库都提供ていきょう动创けん OpenGL 上下じょうげぶんてきこうのう,其中包括ほうかつ SDLAllegroSFMLえいSFMLFLTKQt ひとし也有やゆう一些库是专门用来创建OpenGLまどこうてき,其中最早もはやてき便びん GLUTきさきfreeglutだい较新てき也有やゆう GLFW 使用しよう[3]

  • 以下いか套件以用らい创建并管理かんり OpenGL まどこう,也可以管理かんり输入,ただし几乎ぼつゆうじょ此以外的がいてき其它こうのう
    • GLFW——またが平台ひらだいまど口和くちわ键盘、ねずみ标、手柄てがら处理;偏向へんこうゆう
    • freeglut——またが平台ひらだいまど口和くちわ键盘、ねずみ标处;API GLUT API てきちょうしゅうどう时也 GLUT 更新こうしんさら稳定
    • GLUT——早期そうきてきまどこう处理库,やめさい维护
  • 支持しじ创建 OpenGL まどこうてき还有いち些「媒体ばいたい库」,どう时还支持しじ输入、声音こわねとう类似ゆう戏的ほどじょしょ需要じゅようてきこうのう
    • Allegro 5——またが平台ひらだい媒体ばいたい库,提供ていきょう针对ゆう戏开发的 C API
    • SDL——またが平台ひらだい媒体ばいたい库,提供ていきょう C API
    • SFMLえいSFML——またが平台ひらだい媒体ばいたい库,提供ていきょう C++ API;どう时也提供ていきょう C#、Java、Haskell、Go とう语言てき绑定
  • まどこう套件
    • FLTK——小型こがたてきまたが平台ひらだい C++ まどこう组件库
    • Qt——またが平台ひらだい C++ まどこう组件库,提供ていきょう许多OpenGL辅助对象
    • wxWidgets——またが平台ひらだい C++ まどこう组件库

歷史れきし

[编辑]

1980年代ねんだい開發かいはつ以用ざい各種かくしゅ各樣かくよう圖形ずけいかたけんじょうてき軟件真正しんせいてき挑戰ちょうせん通常つうじょう,軟件開發かいはつ人員じんいんためごとしゅかたけんへんうつし定義ていぎてきせっ口和くちわ驅動くどうほどじょただし非常ひじょうたかぶ并會しるべ致大りょう工作こうさくてき重複じゅうふく

20世紀せいき90年代ねんだいはつSGIなりため工作こうさく3D圖形ずけい領域りょういきてきりょうしるべしゃ。其IRIS GLてきAPIみとめためさい先進せんしんてき科技かぎなみなりため事實じじつじょうてきぎょうぎょう標準ひょうじゅん,而基於開放かいほう標準ひょうじゅんてきPHIGSのりしょう形見がたみ絀。IRIS GLさら容易ようい使用しよう,而且還支持しじ即時そくじしきてき渲染そうした,PHIGSなん使用しようなみ且功のうろうきゅう

SGIてき競爭きょうそうたいしゅ包括ほうかつSunめぐみひろしIBM通過つうか擴展PHIGS標準ひょうじゅん也能しょう3Dかたけん投入とうにゅう市場いちば。這反らいしるべ致SGI市場いちば份額てきそぎじゃくいんためゆう越來ごえくえつてき3D圖形ずけいかたけん供應きょうおうしょう進入しんにゅう市場いちばためおさむ市場いちば,SGI決定けっていIRIS GL API轉變てんぺんためいちこう開放かいほう標準ひょうじゅんそくOpenGL。

しか而,SGIようゆう大量たいりょうてき軟件きゃくたい們來せつしたがえIRIS GL遷移せんいいたOpenGLはた需要じゅよう巨額きょがく投資とうし。此外,IRIS GLてき應用おうようほどじょせっこうようゆうあずか3D圖形ずけい相關そうかんてき函數かんすうれい如,它包括ほうかつまどこう鍵盤けんばんねずみ標的ひょうてきAPI,部分ぶぶん原因げんいんよし於它ざいX Window系統けいとうSun公司こうしてきNeWS系統けいとうぜん開發かいはつてき。而且,IRIS GLくらよし於授けんせん問題もんだい并不適合てきごう開放かいほう上述じょうじゅつ種種しゅじゅいんもと要求ようきゅうSGI繼續けいぞく支持しじさき進和しんわ專有せんゆうてきIRIS InventorIRIS Performer應用おうようほどじょせっこう

IRIS GLてききりせい一是只能訪問由底層硬件支持的功能。如果圖形ずけいかたけん支持しじいちこうこうのう麼該應用おうようほどじょはた不能ふのう使用しよう它。OpenGL通過つうかためかたけん具備ぐびてきこうのう提供ていきょう軟件支持しじ克服こくふく問題もんだい,這就允許いんきょ應用おうようほどじょざい相對そうたい較弱てき系統けいとうちゅう使用しよう先進せんしんてき圖形ずけい技術ぎじゅつ。OpenGL標準ひょうじゅん訪問ほうもんかたけんてき方式ほうしきかたけんせっこうほどじょてき開發かいはつゆう也稱ため設備せつび驅動くどうほどじょ)交由かたけん製造せいぞうしょう,而窗こうこうのう委託いたくきゅうそこそう作業さぎょう系統けいとうゆずる大量たいりょう不同ふどう種類しゅるいてき圖形ずけいかたけんこうどう一種いっしゅげん影響えいきょう深遠しんえん,它為軟件開發かいはつしゃ進行しんこう3D軟件發展はってん提供ていきょうさら高層こうそうてき平台ひらだい

1992ねん,SGI公司こうしりょうしるべOpenGL構審查委員いいんかい(OpenGL ARB)てき創建そうけん。該委員いいんかいよし若干じゃっかん公司こうし組成そせいせめ未來みらいOpenGL規範きはんてき維護擴充かくじゅう

ほろざい1995ねん發布はっぷDirect3D,Direct 3D最終さいしゅうなりためOpenGLてき主要しゅよう競爭きょうそうたいしゅ。1997ねん12月17にちほろ軟和SGI發起ほっき華氏かしゆたかしるべ項目こうもくむねざい統一とういつOpenGLDirect3Dてきせっこう。1998ねんめぐみひろし加入かにゅう後來こうらいゆかり於SGIてき財政ざいせいげんせいほろ軟的戰略せんりゃく以及缺乏けつぼうぎょうぎょう普遍ふへん支持しじ項目こうもく1999ねん遭棄。

2006ねん7がつ,OpenGL構評しん委員いいんかい投票とうひょう決定けっていはたOpenGL API標準ひょうじゅんてきひかえせいけん交給Khronos Group。

こう级功のう

[编辑]

OpenGL設計せっけいためただゆう輸出ゆしゅつてき所以ゆえん它只提供ていきょう渲染こうのう核心かくしんAPIぼつゆうまどこうけいおと频、しるし、键盘/ねずみ标或其他输入设备てき概念がいねん。雖然这一开始看起来像是一种限制,ただし它允许进ぎょう渲染まとだい码完ぜん独立どくりつ于他运行てき操作そうさけい允許いんきょまたが平台ひらだい開發かいはつしか而,ゆう整合せいごう于原せいまどこうけい统的东西需要じゅようまこと许和宿主しゅくしゅけい交互こうご。这通过下れつ附加ふかAPI實現じつげん

  • GLX - X11(包括ほうかつ透明とうめいてきもう
  • WGL - Microsoft Windows

另外,GLUT库能够以移植いしょくてき方式ほうしき提供ていきょう基本きほんてきまどこうこうのう

版本はんぽん

[编辑]

OpenGL进化(而且风格很相似そうじ)SGIてき早期そうき3DせっこうIRIS GL。IRIS GLてき一个限制是它只能访问底层硬件提供的特性。如果图形かたけん支持しじれい纹理うつ这样てきこうのう么应ようほどじょ不能ふのう使用しよう它。OpenGLどおり过在软件じょう对硬けん支持しじてき特性とくせい提供ていきょう支持しじてき方法ほうほう克服こくふくりょう这个问题,まこと许应ようほどじょざいしょう对低配置はいちてきけい统上使用しようだか级的图形特性とくせいFahrenheit项目MicrosoftSGI间的联合ぎょう动,为了统一OpenGLDirect3Dせっこうてき目的もくてき。它一开始提出了一些把规则带给交互3D计算つくえ图形API世界せかいてきうけたまわ诺,ただしよし为SGIてき财政げんせい,这个项目きさき弃了。

2002ねんほろ軟的DirectX 9提出ていしゅつりょうぜんしんてきShader繪圖えずこうのう以及だかかいちょしょくげんHLSL),OpenGL霸主地位ちい開始かいし瓦解がかい。這使とく3DLabs了解りょうかいいた必須ひっす開發かいはつぜんしんてきOpenGL 2.0版本はんぽんただし加入かにゅう支援しえんGLSLてきこうのう。2006ねんKhronosせっしゅOpenGL,たてこく着手ちゃくしゅ發展はってんLongs PeakあずかMount Evans。2008ねん推出OpenGL 3,ただし評價ひょうか普遍ふへんこう

2010ねん3がつ10日とおか, OpenGL同時どうじ推出りょう3.34.0版本はんぽん同年どうねん7がつ26にちまた发布りょう4.1版本はんぽん。2011ねん8がつ8にち发布4.2版本はんぽん。2013ねんはつ佈4.3はん

主要しゅよう版本はんぽん 发布 重要じゅうよう变更
1.1 1997ねん1がつ
1.2 1998ねん3がつ16にち
1.2.1 1998ねん10がつ14にち
1.3 2001ねん8がつ14にち
1.4 2002ねん7がつ24にち
1.5 2003ねん7がつ29にち
2.0 2004ねん9がつ7にち
2.1 2006ねん7がつ2にち
3.0 2008ねん8がつ11にち
3.1 2009ねん3がつ24にち
3.2 2009ねん8がつ3にち
3.3 2010ねん3がつ11にち OpenGL 3.3あずか4.0はんいちおこり发布。 以体现硬けん支持しじDirect3D 10てき可能かのうせい
4.0 2010ねん3がつ11にち OpenGL 4.0あずか版本はんぽん3.3いちおこり发布。 它是为硬けん设计てき,以体现硬けん支持しじDirect3D 11てき可能かのうせい

あずかOpenGL 3.0いち样,这个版本はんぽんてきOpenGL包含ほうがん大量たいりょう相当そうとう无关紧要てき扩展,むねざい彻底揭示けいじDirect3D 11级硬けんてき能力のうりょく

4.1 2010ねん7がつ26にち
4.2 2011ねん8がつ8にち 支持しじてき显卡:NVIDIA GeForce 400系列けいれつ以上いじょう,AMD Radeon HD7000系列けいれつ以上いじょうIntel HD Graphicsだい7だいIvy Bridge系列けいれつ以上いじょう

AMD Radeon HD 6000 Series, AMD Radeon HD 7000 Series

  • 支持しじShaders原子げんし计数かず载/そん储/原子げんし读-おさむあらため-うつし操作そうさてき单级纹理着色ちゃくしょく
  • 捕捉ほそくGPU-tessellated几何变换はん馈的结果绘制てき个实れい使つかい复杂てき对象进行有效ゆうこうてきおもしん定位ていい复制。
  • 支持しじおさむあらため任意にんいしゅうてき压缩纹理,而无需重しんした载整个GPUてき纹理,显著てき性能せいのうあらため进。
  • 支持しじ包装ほうそうなりいち个单いちてき32值显ちょくだていうちそんそん储和带宽てきだかこう着色ちゃくしょく处理个816值。
4.3 2012ねん8がつ6にち 支持しじてき显卡:NVIDIA GeForce 400系列けいれつ以上いじょう,AMD Radeon HD5000系列けいれつ以上いじょうIntel HD Graphicsだい7.5だいHaswell系列けいれつ以上いじょう
  • かこえ內充ぶん利用りようGPUてき並行へいこう計算けいさん着色ちゃくしょくてき圖形ずけいかんどう
  • くらてきそんもうか緩衝かんしょう對象たいしょう
  • もんさんすう查詢
  • 作為さくい標準ひょうじゅんこうのうてきだか品質ひんしつてきもん壓縮あっしゅくETC2/EAC
  • 完全かんぜんけんようてきOpenGL ES3.0てきAPI
  • ざい應用おうようほどじょ開發かいはつ過程かていちゅう調ちょうためし能力のうりょく接收せっしゅう調ちょうためし消息しょうそく
  • ぼつ有數ゆうすうよりどころ複製ふくせい不同ふどうてき方式ほうしき解釋かいしゃくもんてきもん意見いけん
  • 增加ぞうかりょう內存てき安全あんぜんせい
  • 一個多應用的健壯性擴展
4.4 2013ねん7がつ22にち[4] 支持しじてき顯示けんじ卡:NVIDIA GeForce 400系列けいれつ以上いじょう,AMD Radeon HD5000系列けいれつ以上いじょうIntel HD Graphicsだい7.5だいHaswell系列けいれつ以上いじょう
  • 緩衝かんしょう位置いちひかえせい
  • こうこう查詢
  • 着色ちゃくしょく可變かへん佈局
  • こうこう對象たいしょう綁定
  • せい簡化Direct3D應用おうようてき移植いしょく
  • 綁定てきもん擴展
  • まれ疏紋擴展
4.5 2014ねん8がつ11にち[5] 支持しじてき显卡:NVIDIA GeForce 400系列けいれつ以上いじょう,AMD Radeon HD7000系列けいれつ以上いじょうIntel HD Graphicsだい8だいBroadwell系列けいれつ以上いじょう),Tegra K1, Tegra X1
  • 直接ちょくせつじょう态访问(DSA) - 对象访问使查询かずおさむあらためじょう态不かいはた对象绑定いた上下じょうげ文中ぶんちゅう,从而ひさげだか应用ほどじょちゅう间件てき效率こうりつ灵活せい
  • 刷新さっしんひかえせい - 应用ほどじょ以在上下じょうげぶんきり换之ぜんひかえせい挂起命令めいれいてき刷新さっしん,实现高性能こうせいのう线程应用ほどじょ
  • 鲁棒せい - 为WebGL浏览とう应用ほどじょ提供ていきょう安全あんぜん平台ひらだい包括ほうかつ阻止そしGPU复位かげ响任なん其他ただしざい运行てき应用ほどじょ
  • OpenGL ES 3.1 API着色ちゃくしょくけんようせい - 轻松开发执行桌面けい统上最新さいしんてきOpenGL ES应用ほどじょ
4.6 2017ねん7がつ31にち 支持しじてき显卡:NVIDIA GeForce 400系列けいれつ以上いじょう论上支持しじ
  • SPIR-V着色ちゃくしょく
  • かくこう异性过滤

まいり

[编辑]

参考さんこう文献ぶんけん

[编辑]
  1. ^ Khronos Releases OpenGL 4.6 with SPIR-V Support. 
  2. ^ OpenGL® Licensing and Logos. Silicon Graphics International Corp. [2013-12-15]. (原始げんし内容ないようそん档于2012-11-01) えい语). 
  3. ^ GLUT-like Windowing toolkits. Khronos Group. [2018-07-19]. (原始げんし内容ないようそん于2018-07-19) えい语). 
  4. ^ Khronos Releases OpenGL 4.4 Specification. Khronos Group. 2013-07-22 [2013-12-15]. (原始げんし内容ないようそん于2013-10-29) えい语). 
  5. ^ OpenGL 4.5 released, next-gen OpenGL unveiled: Cross-platform Mantle killer, DX12 competitor. ExtremeTech. 2014-08-11 [2014-08-12]. (原始げんし内容ないようそん于2014-08-11). 

外部がいぶ链接

[编辑]