ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

opengl

OpenGL レンダリングの制御

autoselectneverselectadvisequietverbose および DriverBugWorkaround の入力は R2014b で削除されました。以前のリリースにおけるこれらの構文の動作の詳細については、R2014a の opengl を参照してください。

構文

  • opengl info
  • d = opengl('data')
  • opengl software
  • opengl hardware
  • opengl hardwarebasic
  • opengl('save',pref)

説明

opengl info は、MATLAB® で現在使用されている OpenGL® の実装について、バージョン、ベンダー、サポートされるグラフィックス機能などの情報を表示します。将来のリリースでは、グラフィックス機能の変更に応じて返されるフィールドが変更される可能性があります。このコマンドを使用すると、OpenGL が読み込まれます。

d = opengl('data')opengl info と同じデータを返しますが、データは構造体に格納されます。

opengl software はソフトウェア版の OpenGL を使用して、現在の MATLAB セッションでそれ以降のグラフィックスを描画します。このコマンドは Windows® システムでのみ機能します。

opengl hardware は、ハードウェア アクセラレータ版の OpenGL を使用してそれ以降のグラフィックスを描画します。グラフィックス ハードウェアでハードウェア アクセラレータ版の OpenGL がサポートされない場合、MATLAB は代わりにソフトウェア版を使用します。

opengl hardwarebasic は、ハードウェア アクセラレータ版の OpenGL を使用しますが、一部のグラフィックス ドライバーで動作が不安定になる高度なグラフィックス機能が無効化されます。グラフィックス ハードウェアでハードウェア アクセラレータ版の OpenGL がサポートされない場合、MATLAB は代わりにソフトウェア版を使用します。

opengl('save',pref) は、このコンピューター上の将来の MATLAB セッションで優先的に使用するバージョンの OpenGL を設定します。pref'software''hardware''hardwarebasic''none' のいずれかとして指定します。このコマンドは現在のセッションには影響しません。

すべて折りたたむ

MATLAB で現在使用されている OpenGL の実装に関する情報を表示するには、opengl info コマンドを使用します。たとえば、ベンダーやバージョン、サポートされるグラフィックス機能などを表示します。また、MATLAB が OpenGL のハードウェア アクセラレータ版の実装を使用しているか、ソフトウェア実装を使用しているかを表示します。

opengl info
                          Version: '2.1 Mesa 10.5.2'
                           Vendor: 'Brian Paul'
                         Renderer: 'Mesa X11'
                   MaxTextureSize: 16384
                           Visual: 'Visual 0x5e, (RGBA 32 bits (8 8 8 8), ...'
                         Software: 'true'
             HardwareSupportLevel: 'none'
        SupportsGraphicsSmoothing: 0
    SupportsDepthPeelTransparency: 1
       SupportsAlignVertexCenters: 0
                       Extensions: {151x1 cell}
               MaxFrameBufferSize: 16384

グラフィックス ハードウェアを判別するには、opengl info コマンドを使用して Vendor フィールドおよび Renderer フィールドを確認します。

opengl info
                          Version: '3.3.0'
                           Vendor: 'NVIDIA Corporation'
                         Renderer: 'Quadro 400/PCIe/SSE2'
            RendererDriverVersion: '9.18.13.3182'
        RendererDriverReleaseDate: '11-Nov-2013'
                   MaxTextureSize: 8192
                           Visual: 'Visual 0x07, (RGBA 32 bits...'
                         Software: 'false'
             HardwareSupportLevel: 'full'
        SupportsGraphicsSmoothing: 1
    SupportsDepthPeelTransparency: 1
       SupportsAlignVertexCenters: 1
                       Extensions: {248x1 cell}
               MaxFrameBufferSize: 8192

    メモ:   返されたフィールドに Software: 'true' という行が含まれる場合、ソフトウェア OpenGL を使用しているため、Vendor フィールドにリストされる名前は、使用しているグラフィックス ハードウェアのベンダーではありません。その場合、Vendor フィールドはソフトウェア OpenGL の実装の製造元を示します。

すべての Figure を閉じて、ハードウェアの OpenGL に切り替えてから、opengl info コマンドを実行します。その後、ソフトウェアの OpenGL に再び切り替えます。

close all 
opengl hardware
opengl info
opengl software

-nosoftwareopengl フラグを使用して MATLAB を起動します。その後、opengl info コマンドを実行します。

現在のセッションでソフトウェアの OpenGL を使用してグラフィックスをレンダリングするように切り替えます。

opengl software

このコマンドは Windows システムでのみ機能します。

今後のすべてのセッションで MATLAB がソフトウェアの OpenGL を使用してグラフィックスをレンダリングするように設定します。このコマンドは現在のセッションには影響しません。

opengl('save','software')

入力引数

すべて折りたたむ

MATLAB で現在使用されている OpenGL の実装に関する情報。info として指定します。opengl info コマンドは、次の表に一覧されているフィールドを返します。

FieldDescription
VersionOpenGL 実装のバージョン。
VendorOpenGL 実装の製造元。
RendererDriverVersionOpenGL ドライバーのバージョン (ハードウェア アクセラレータ版 OpenGL を使用する Windows システムのみ)。このフィールドは仮想マシンでは表示されません。
RendererDriverReleaseDateOpenGL ドライバーのリリース日付 (ハードウェア アクセラレータ版 OpenGL を使用する Windows システムのみ)。このフィールドは仮想マシンでは表示されません。
Renderer

OpenGL レンダラーの説明。ハードウェア アクセラレータ版の OpenGL を使用している場合、このフィールドはグラフィックス カードのモデル名になります。

MaxTextureSize

OpenGL 実装によりサポートされる最大テクスチャ サイズ。

VisualOpenGL 実装のプロパティを表示します。
Softwareソフトウェア OpenGL が有効かどうか。'true' または 'false' が返されます。
HardwareSupportLevelハードウェアのサポート レベル。次のいずれかの値が返されます。
  • 'full' — ハードウェア アクセラレータ版の OpenGL (すべてのグラフィックス機能が有効)

  • 'basic' — ハードウェア アクセラレータ基本機能版 OpenGL (一部のグラフィックス機能が無効)

  • 'none' — ソフトウェア OpenGL

また、MATLAB でサポートされないドライバーが検出された場合は、このフィールドには 'known graphics driver issues' が含まれます。
SupportsGraphicsSmoothingグラフィックスの平滑化機能のサポート。サポートされる場合は 1、そうでない場合は 0 が返されます。
SupportsDepthPeelTransparency深度剥離による透明度機能のサポート。サポートされる場合は 1、そうでない場合は 0 が返されます。
SupportsAlignVertexCenters頂点の中心揃え機能のサポート。サポートされる場合は 1、そうでない場合は 0 が返されます。
Extensions

OpenGL 実装によりサポートされる拡張機能。

MaxFrameBufferSize

OpenGL 実装によりサポートされる最大フレーム バッファー サイズ。

グラフィックスの平滑化、深度剥離による透明度および頂点の中心揃えについての詳細は、高度なグラフィックス機能を参照してください。

ソフトウェア OpenGL。software として指定します。

ソフトウェア OpenGL に切り替えるには、次を行います。

  • Windows システムでは opengl software を実行します。

  • Linux® システムでは、-softwareopengl フラグを指定して MATLAB を起動します。

  • Macintosh システムは、ソフトウェアの OpenGL をサポートしていません。

ソフトウェア OpenGL は、ハードウェア アクセラレータ版の OpenGL より処理速度が遅かったり、すべてのグラフィックス機能がサポートされない場合があります。サポートされる機能の一覧表は、高度なグラフィックス機能を参照してください。

ハードウェア アクセラレータ版の OpenGL。hardware として指定します。すべてのシステムで、opengl hardware コマンドを使用して OpenGL のハードウェア基本機能版からハードウェア版へ切り替えることができます。ただし、opengl hardware コマンドを使用して OpenGL のソフトウェア版からハードウェア版に切り替えることができるのは、Windows システムのみです。Linux システムでソフトウェア版からハードウェア版に切り替えるには、-nosoftwareopengl フラグを指定して MATLAB を起動してください。

ハードウェア アクセラレータ基本機能版の OpenGL。hardwarebasic として指定します。このバージョンのハードウェア アクセラレータ版 OpenGL は、インストールされているグラフィックス ハードウェアを使用しますが、一部のグラフィックス ドライバーで不安定な動作をするグラフィックス機能が無効にされます。無効化されている機能は、グラフィックス機能の変更やグラフィックス ハードウェアの改善に応じて、将来のリリースで変更される可能性があります。無効化されている機能の表については、高度なグラフィックス機能を参照してください。

将来のセッションで優先的に使用する OpenGL のバージョン。次のオプションのいずれかとして指定します。

  • 'software' — ソフトウェア OpenGL。このオプションは Macintosh システムでは利用できません。

  • 'hardware' — ハードウェア アクセラレータ版の OpenGL。

  • 'hardwarebasic' — 高度なグラフィックス機能の一部が無効にされた、ハードウェア アクセラレータ版の OpenGL。詳細は、高度なグラフィックス機能を参照してください。

  • 'none' — システムの既定値。

詳細

すべて折りたたむ

高度なグラフィックス機能

高度なグラフィックス機能には、特定の OpenGL 実装が必要とされます。これにはグラフィックスの平滑化深度剥離による透明度頂点の中心揃えおよびハードウェア アクセラレータ版のマーカーがあります。これらの機能のサポートは次の条件に依存します。

  • ハードウェア版、ハードウェア基本機能版またはソフトウェア版のうち、どの OpenGL を使用しているか。使用している実装を判別するには、opengl info で返される HardwareSupportLevel フィールドを確認します。

  • OpenGL 実装のバージョン。使用中のバージョンを判別するには、opengl info で返される Version フィールドを確認します。使用しているグラフィックス ハードウェアで利用可能な最新バージョンを取得するには、コンピューターの製造元 Web サイトにアクセスしてグラフィックス ドライバーをアップグレードしてください。グラフィックス ドライバーのアップグレードについての詳細は、「グラフィックスのシステム要件」を参照してください。

次の表に、高度なグラフィックス機能と、各機能がサポートされる環境を示します。

グラフィックス機能 ハードウェア版 OpenGLハードウェア基本機能版 OpenGLWindows 上のソフトウェア版 OpenGL
(OpenGL 1.1 を使用)
Linux 上のソフトウェア版 OpenGL
(OpenGL 2.1 を使用)
グラフィックスの平滑化OpenGL 2.1 以降でサポートOpenGL 2.1 以降でサポートサポートなしサポートなし
深度剥離による透明度OpenGL 2.1 以降でサポート無効サポートなしサポートあり
頂点の中心揃えOpenGL 2.1 以降でサポート無効サポートなしサポートなし
ハードウェア アクセラレータ版のマーカーOpenGL 4.0 以降でサポート無効サポートなしサポートなし

グラフィックスの平滑化

グラフィックスの平滑化は、線のギザギザを滑らかにしてプロットの外観を改善する手法です。この機能がシステムでサポートされる場合、既定では有効になっています。

次の表では、この機能が有効の場合と無効の場合の違いを説明します。特定の Figure に対してこの機能をオフにするには、Figure の GraphicsSmoothing プロパティを 'off' に設定します。

サポートされ有効にされている場合サポートされないか無効にされている場合

(拡大表示)


(拡大表示)


深度剥離による透明度

深度剥離による透明度は、透明な 3 次元オブジェクトや、交差する透明なオブジェクトを含む複雑なプロットを正しく描画するための機能です。次の表の左側のイメージは、深度剥離による透明度機能がサポートされる場合の球体の描画結果を示します。右側のイメージは、この機能がサポートされない場合の同じ球体の描画結果です。この球体には予期しない影付きの部分が含まれています。

サポートされる場合サポートされない場合

頂点の中心揃え

頂点の中心揃えは、垂直および水平のラインを鮮明にする機能です。グラフィックスの平滑化が有効にされている場合、垂直や水平のラインの太さや色が不均等に見えることがあります。頂点の中心揃え機能によって、この不均等な外観をなくします。既定では、頂点の中心揃え機能が無効にされています。ただし、システムでサポートされる場合には、AlignVertexCenters プロパティをもつオブジェクトについて、このプロパティを 'on' に設定して有効にすることができます。

次の表では、この機能が有効の場合と無効の場合の違いを説明します。

サポートされ有効にされている場合サポートされないか無効にされている場合

ハードウェア アクセラレータ版のマーカー

ハードウェア アクセラレータ版のマーカーは、パフォーマンスと品質を向上させるためにグラフィックス ハードウェアを活用します。次の表では、この機能がサポートされている場合とサポートされていない場合の違いを説明します。

サポートされる場合サポートされない場合

ヒント

  • 代わりに Painters を使用して画面表示と印刷用のレンダリングを行うこともできます。詳細は、Figure の Renderer プロパティを参照してください。

  • 既定では、グラフィックス ハードウェアでサポートされている場合、MATLAB はハードウェア アクセラレータ版の OpenGL を使用します。ただし、MATLAB によって次のような状況が検知された場合には、ソフトウェアの OpenGL に自動的に切り替わることもあります。

    • 既知の問題やグラフィックス仮想化機能のあるグラフィックス ドライバーを使用している場合。

    • 以前の MATLAB セッションが、グラフィックスの問題が原因でクラッシュした場合。

    • グラフィックス ハードウェアがないか、グラフィックス ハードウェアでハードウェアの OpenGL がサポートされない場合。

R2006a より前に導入

この情報は役に立ちましたか?