OpenGL--データ概要

1はじめに

OpenGLの(英語:オープングラフィックライブラリ、翻訳:オープングラフィックライブラリまたは「オープングラフィックライブラリ」)は、クロスランゲージ、クロスプラットフォームのアプリケーション・プログラミング・インターフェース(API)の2D、3Dのベクトルグラフィックスをレンダリングするために使用されます。このインタフェースは、ほぼ350の異なる機能は、単純なものから複雑な三次元シーンにビットパターンを描画するために使用される組成物によって呼び出します。別のプログラム・インターフェース・システムは、Microsoft Windows上でのDirect3Dのために使用されているが。OpenGLは、一般的にCAD、バーチャルリアリティ、科学的可視化プログラムやビデオゲームの開発に使用されます。
OpenGLのアーキテクチャ審査委員会(ARB)1992によって維持OpenGLの仕様は、に設立されました。構図に特に関心の統一、企業、一般的に利用できるAPIを作成するための番号でARB。
2006年7月に、OpenGLのアーキテクチャ審査委員会は、クロノス・グループにOpenGLのAPI標準コントロールに投票しました。

2バージョン履歴

  • OpenGLの1.0
    発行日:1992年1月
    のOpenGL 1.0のOpenGLの最も初期のバージョンは1992年1月にマーク・シーガルとカート・エイクリーによって掲示。
  • OpenGLの1.1
    発行日:1997年1月
    5年を経過した後は、OpenGLのOpenGLの1.1の新バージョンをリリースした、とDirect3Dの出現は、(特にレッドアラートが販売)OpenGLは圧力を感じます。
  • OpenGLの1.2には、
    発行:1998年3月16日
    OpenGLサポートのこのバージョンは、身体のレンダリング(ボリュームレンダリング)とボディテクスチャ(ソリッドテクスチャ)テクスチャ3Dを開始するために使用することができ、およびBGAは、主に特定のプラットフォームとの互換性のためにBGRAに表示されますハードウェア、パッケージングは、ピクセルがオブジェクトバッファのピクセル(画素バッファ・オブジェクト)の前身である、異なるオブジェクト間(画素転送)を、送信することができるので、その画素の画素(パックピクセル)を表示します。
  • OpenGLの1.2.1は
    1998年10月14日:公開された
    のOpenGLのこのバージョンでは大きな変化はなく、ARB拡張のコンセプトに専念します。ARBの拡張は、拡張のOpenGL ARB認証の結果であり、そのような拡張は、広く実現されます。
  • OpenGLの1.3には、
    発行日:2001年8月14日
    このバージョンがサポートする圧縮テクスチャ(圧縮テクスチャ)は、効果的に現在広くストレージサイズと帯域幅集約型ハンドヘルドデバイスのさまざまな使用、保管および帯域幅の圧力を減らすことができます。ラスタの代わりに、過去の出現は、OpenGLのテクスチャを聞かせてマルチサンプルとフレームバッファMSAAアンチエイリアシング技術をサポートすることができ、;キューブテクスチャ(テクスチャキューブ)主にスカイボックス(スカイボックス)、動的な反射(動的反射)などの技術で使用されて表示されますアプローチに(ラスタライザ状態)の設定状態無用アンチエイリアス。
  • OpenGLの1.4
    リリースバージョン:2002年7月24日
    このバージョンでは、テクスチャミップマップの自動生成をサポートするために始めた、とポイントラスタライズ上のパラメータ。
  • OpenGLの1.5
    発行:2003年7月29日に
    バッファオブジェクト(オブジェクトをバッファ)、完全に頂点配列の過去(頂点配列)を交換し、即時モードに登場。このバージョンは、頂点データは、クライアントのメモリ(クライアントのメモリ)からアップロードすることができますサーバ・メモリ(サーバーのメモリ)まで、非常に重要なオクルージョンクエリーを加えながら(オクルージョンクエリ)。
  • OpenGLの2.0
    公開日:2004年9月7日の
    OpenGLはついに独自のシェーディング言語(シェーディング言語)が、ARB 3DlabsのはデイブネイティブのOpenGLシェーディング言語になるように設計シェーディング言語を選択するだけでなく、OpenGLの頂点シェーダに開始されていますこの段階固定回線OpenGLとプログラム可能なパイプラインが共存の出現をもたらす(頂点シェーダ)とフラグメントシェーダ(フラグメントシェーダ); OpenGLのフラグメントシェーダ出力(フラグメントシェーダ出力)は現在フレームバッファに出力することができます複数(フレームバッファ)が(レンダーターゲット)上がるレンダーターゲットません。OpenGLのテクスチャを2 ^ n個のサイズを制限もはやありながら。
  • OpenGLの2.1
    公開日:2006年7月2日に
    このバージョンでは、テクスチャ(Textureオブジェクト)とフレームから注目画素をサポートする、送信画素(画素tansfer)高速作業に使用される画素バッファ・オブジェクト(pxielバッファオブジェクト)を、加算します通常のバッファオブジェクトとして(オブジェクトバッファ)オブジェクト(フレームバッファオブジェクト)に包装(パック)、画素バッファ・オブジェクト(画素バッファ・オブジェクト)、またはテクスチャオブジェクトとフレームバッファオブジェクトから画素バッファ・オブジェクト溶液パッキングバッファ、追加画素バッファ・オブジェクトがあってもよいですこれはDMA転送モードにより、さらに高速(マップ)更新データ、テクスチャがマッピングされているように、テクスチャ・オブジェクトサポートのsRGB形式。
  • コードロングス・ピークとOpenGL 3.0紛争
  • OpenGLの3.0のリリース前に、コードネームロングス・ピークのこのバージョンでは、OpenGLの作品の大規模な変更の多くが含まれており、基本的にAPI呼び出しなどの内容を変更します。2008年8月11日のOpenGL 3.0のリリース、OpenGLのコアプロファイルと互換性プロファイル、およびクロノスグループは、コアだけのプロファイルをサポートしたいと考えているのこのバージョンで始まり、この革新的な規範は、多くのメーカーは、それがこの提案を受け入れないことを明確にし、騒動を引き起こしましたそして彼らは、拡張の付属互換性プロファイルの多くをサポートし続けるだろう、圧力の下で互換性プロファイルが変更されたオプションです。OpenGLの3.0過去の外観を変更するのOpenGLとの下位互換性があります、簡略化APIが肥大化し、ある程度APIの柔軟性を高めます。
  • OpenGLの3.1
    リリース日:2009年3月24日
    インスタンス化レンダリングでは、類似したオブジェクトを描画減らすには、帯域幅の圧力を占領し、外観のコピーバッファは、パフォーマンスの最適化、クライアント側でコピーされたデータを可能にすることです。バッファテクスチャ実際には、それがオブジェクトをバッファリングすることであるとして、いくつかの特別な行事の予期しない用途には、テクスチャのようにアクセスされ、話をしていたglUniformのに頼る均一なバッファオブジェクト、過去のOpenGL均一のアップロードデータでアップロード機能、およびOpenGLの各機能呼び出しによって消費されるCPUサイクルが非常に大きく、頻繁に呼び出しglUniformがあり、今開いている重大なパフォーマンスの問題をもたらすでしょう、とOpenGLが均一バッファオブジェクトで管理バッファこれらはデフォルト均一に保存されます、単一の制服を投稿しますマップ/アンマップ更新データにより、関数呼び出しのオーバーヘッドが大幅に削減されます。
  • OpenGLの3.2
    リリース日:2009年8月3日には、
    このバージョンでは、最も重いサポートジオメトリシェーダ(ジオメトリシェーダ)で、新しいエンティティタイプ(点、線および三角形)、などテッセレーションなどのポスト重要な技術を生成するために使用することができますそれに使用されます。テクスチャ公式にサポートされているマルチサンプルがあり、レンダリングターゲットとしてではなく、WGL_ARB_multisampleとGLX_ARB_multisampleアンチエイリアス窓からフレームバッファオブジェクト上で行うことができるアンチエイリアス。
  • OpenGLの3.3
    リリース日:2010年3月11日
    このバージョンでは、OpenGLのシェーダモデル4.0の最終版です。このバージョンは、方法で、クエリの場所入力変数(属性)にプログラムのニーズを変更するシェーダーに指定されているセマンティック指定するHLSLのようにすることができます。レイアウト、APIは、対応する縮小呼び出し、テクスチャオブジェクトをサンプラ状態とデカップリングは、サンプラーオブジェクトを増加し、サンプラーオブジェクトはACTIVE_TEXTUREに結合させることができます。
  • OpenGLの4.0
    リリース日:2010年3月11日
    、このバージョンもリリースさとOpenGL 3.3はエキサイティングなテッセレーションシェーダを追加します。シェーダー言語のサブルーチン4.00は、実行時または再コンパイルまたは使用の場合で、スイッチシェーダに必要を提供していません(スイッチシェーダ消費本当に驚くほどにCPUサイクル)を、異なる機能を選択させ、巨大なオーバーヘッドスイッチシェーダプログラムを低減するための方法を分析する; GL_ARB_draw_buffers_blendはまたフラグメントシェーダは、それぞれのバッファの事前のそれぞれから出力することができましょうGL_ARB_transform_feedback2とGL_ARB_transform_feedback3フィードバックオブジェクトを変換提供し、(例えば、一時停止等)だけでなく、にフィードバックを変換することを目的として、フィードバックに関する制御を変換ではなく、過去の各々より-断片operaionは、プレ断片動作と同様に完了しています処理のため。
  • OpenGLの4.1
    リリース日:2010年7月26日には
    、バイナリシリアルにプリコンパイルすることができますGL_ARB_get_program_binaryが提供するシェーダこのバージョンでは、OpenGL ESの一部は、OpenGL ESの大成功を反映している一方でコアプロファイルの範囲を、含まれていますファイルは、ランタイムのコンパイル方法を避け、このバージョンでは、データの精度を高めるために64ビット浮動小数点入力変数を提供します。
  • OpenGLの4.2
    リリース日:2011年8月8日
    このバージョンでの変更は、現在、過去にそれが許可されていない一方で、ピクセルフォーマットの転送を圧縮、より良いサポートしているが、さらに不変の質感を提供し、あなたの代わりにテクスチャオブジェクトを作成するためのAPIを呼び出すことができます頻繁にAPIを呼び出すために従来のように、GL_EXT_texture_compression_s3tcのGL_ARB_texture_compression_bptcだけでなく、互換性のプロファイルがあり、OpenGLはブロックの圧縮フォーマットの全てをサポートするようになったしましょう。
  • OpenGLの4.3
    リリース日:2012年8月6日には、
    このバージョンでは、コンピュートシェーダーの中で最も顕著な増加は、並列計算のために使用することができますされます。GL_ARB_explicit_uniform_locationもHLSL GLSL、本のOpenGLのバージョンでセマンティック指定と同じレイアウトを指定することができ、均一な方法を提供し、シェーダー入力とフラグメントシェーダ出力、ならびに均一になりましたレイアウトで、シェーダに指定することができる頂点、OpenGL ESの特定の機能3は、OpenGLのコアプロファイルに参加し、概念のテクスチャビューを追加し、テクスチャの内容を共有するために作成されています;より良いOpenGLをデバッグデバッグメッセージングプログラム猿のヘルプをさらに追加。
  • OpenGLの4.4
    発売日:7月23日は、2013
    GL_ARB_muti_bindリソースが呼び出しにオーバーヘッド結合を共有し、複数のリソースを結合させ、そしてDirect3D11インターフェースと一つの呼び出しと互換性のある; GL_ARB_enhanced_layoutが均一内部ブロック指定されたレイアウトを可能にします、Direct3Dのレジストリに対応する; GL_ARB_buffer_objectはまた、単一のドローコール・バッファ・オブジェクトを作成する方法を提供し、提供して有意な減少glMapBufferにpresistentマッピングされたバッファを呼び出します。
  • OpenGLの4.5
    リリース日:2017年5月9日
  • OpenGLの4.6
    リリース日:2019年10月22日

3ハードウェアサポート

3.1 IPC

IPC-研华ARK-10
はDirectX * 11.1、OGL 3.0、OCL 1.1、OGL ES 2.0をサポートエンコード
IPC-研华SOM-3568
DX 11.1、OpenGLの4.2、OpenGL ESの3.0、OpenCLの1.2
IPC-研华MIO-3260
DirectX®11、オープンGL3.0、オープンCL 1.1は、2.0をOGLES

3.2組み込みボード

RK3399
アームマリ-T860 GPU支持のOpenGL ES 1.1 / 2.0 / 3.0 / 3.1
IMX6Q
のOpenGL ES2

バージョンを選択します4

互換性のためのOpenGL 4版、バージョン3.3、または安全のために以下のハードウェアをサポートするからです。

5つのアイテム

5.1 open.gl/

https://open.gl/

5.2訥河OpenGLのチュートリアル

http://nehe.gamedev.net/
https://www.cnblogs.com/arxive/p/6238969.html

ステップ5.3、OpenGLのステップ

http://ogldev.atspace.co.uk/index.html

5.4 mbsoftworks

http://www.mbsoftworks.sk/index.php?page=tutorials&series=1

5.5 learnopengl

https://learnopengl.com/

5.6 qiliang

https://qiliang.net/old/nehe_qt/index.html

6つのグラフィックスフォーカス

  • OpenGLのレンダリングパイプライン
  • オブジェクト - 世界 - カメラ - トリミング - 座標変換をビューポート

参照

1、OpenGLの古典的なチュートリアルと本勧告
2、0 OpenGLの学習から出発して(ディレクトリ)
3、QtのOpenGLのチュートリアル
4は、OpenGLはフットプリントQT5が学習
、5 現代のOpenGLのチュートリアルを
6、Qtの現代のOpenGLのチュートリアル
7、ステート・オブ・Qt-技術とのOpenGL
8、現代のOpenGL入門チュートリアル
9、https://learnopengl.com/
10、https://learnopengl-cn.github.io/
11、OpenGLのチュートリアル-
12、OGL
13、オタクカレッジ
14 、QT5 OpenGLの
15、OpenGLの-Baiduの百科事典
16は、グッドOpenGL-の原則を導入
17、OpenGLのバージョン履歴と開発
18を、はじめにGPUレンダリング

发布了496 篇原创文章 · 获赞 601 · 访问量 155万+

おすすめ

転載: blog.csdn.net/qq_38880380/article/details/104010090