ドキュメンテーション

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

rendererinfo

グラフィックス レンダラー情報

説明

info = rendererinfo(target) は、ターゲット グラフィックス オブジェクトのレンダラー情報を含む構造体を返します。Figure の子になることができる任意のタイプの座標軸またはチャートとして target を指定します。n 座標軸またはチャートの配列を指定することもできます。その場合、info は 1 行 n 列の構造体配列として返されます。

すべて折りたたむ

関数 peaks の表面プロットを作成します。

surf(peaks)

現在の座標軸を取得し、座標軸のレンダラー情報を取得します。システムによって、返される情報が異なる可能性があります。

ax = gca;
info = rendererinfo(ax)
info = 

  struct with fields:

    GraphicsRenderer: 'OpenGL Hardware'
              Vendor: 'NVIDIA Corporation'
             Version: '4.6.0 NVIDIA 391.58'
      RendererDevice: 'Quadro P600/PCIe/SSE2'
             Details: [1×1 struct]

ドライバーの詳細を取得します。

info.Details
ans = 

  struct with fields:

           RendererDriverVersion: '23.21.13.9174'
       RendererDriverReleaseDate: '2018-6-4'
            HardwareSupportLevel: 'Full'
    SupportsDepthPeelTransparency: 1
       SupportsAlignVertexCenters: 1
       SupportsGraphicsSmoothing: 1
                  MaxTextureSize: 32768
              MaxFrameBufferSize: 32768

ヒートマップ チャートおよび散布図を含むサブプロットを作成します。

subplot(1,2,1)
h = heatmap(rand(5));
ax1 = subplot(1,2,2);
scatter(1:10,rand(1,10))

ヒートマップ チャートおよび散布図の親座標軸のレンダラー情報を取得します。この場合、info は 2 つの構造体を含む配列です。

info = rendererinfo([h ax1])
info = 

  1×2 struct array with fields:

    GraphicsRenderer
    Vendor
    Version
    RendererDevice
    Details

配列にインデックスを付けてヒートマップ チャートのレンダラーのバージョンを取得します。システムによって、返されるバージョン情報が異なる可能性があります。

info(1).Version
ans =

    '4.6.0 NVIDIA 391.74'

入力引数

すべて折りたたむ

ターゲット オブジェクト。次のいずれかとして指定します。

  • AxesPolarAxes または GeographicAxes オブジェクトなどの任意の座標軸タイプ。

  • Figure の子になることができるチャート。たとえば、HeatmapChart オブジェクトは、Figure の子になることができるため、ターゲット オブジェクトになることができます。反対に、Stem オブジェクトは、Axes オブジェクトの子であるため、ターゲット オブジェクトになることはできません。

  • 座標軸、チャートまたはそれらの組み合わせの配列。

出力引数

すべて折りたたむ

レンダラー情報。グラフィックス レンダラーの名前、ベンダーおよびバージョンなどの情報を含む構造体として返されます。Details フィールドは、詳細を含む入れ子にされた構造体です。次の表は、info 構造体と info.Details 構造体の両方についてまとめています。

target を n 座標軸またはチャートの配列として指定する場合、info は、1 行 n 列の構造体配列として返されます。配列内の各構造体は target の要素に対応します。

info 構造体

すべてのシステムで次のフィールドが返されます。

フィールド説明
GraphicsRenderer

グラフィックス レンダラー。次のいずれかの値が返されます。

  • 'OpenGL Hardware'

  • 'OpenGL Software'

  • 'MathWorks Painters'

  • 'WebGL'

Vendor

グラフィックス レンダラー実装の製造元。

Version

グラフィックス レンダラー実装のバージョン。

RendererDevice

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

Details

レンダラーのドライバーのバージョンなどの詳細を含む入れ子にされた構造体。Painters レンダラーの場合、この構造体は空です。

details 構造体

一部のシステムでは、グラフィックス レンダラーに応じてこれらのフィールドのサブセットが返されます。Painters レンダラーの場合、info.Details 構造体は空です。

フィールド説明
RendererDriverVersion

OpenGL® ドライバーのバージョン。このフィールドは、ハードウェア アクセラレータ版の OpenGL を実行している Windows® システムでのみ表示されます。このフィールドは仮想マシンでは表示されません。

RendererDriverReleaseDate

OpenGL ドライバーのリリース日付。このフィールドは、ハードウェア アクセラレータ版の OpenGL を実行している Windows システムでのみ表示されます。このフィールドは仮想マシンでは表示されません。

HardwareSupportLevel

ハードウェアのサポート レベル。次のいずれかの値が返されます。

  • 'Full' — MATLAB® は、高度なグラフィックス機能を提供するためにグラフィックス ハードウェアを最大限使用します。ハードウェア アクセラレータ版の OpenGL および WebGL™ を実行するほとんどのシステムでは、この値が返されます。

  • 'Basic' — MATLAB はグラフィックス ハードウェアを使用しますが、一部の機能が無効になっています。グラフィックスの表示の問題を回避するために、グラフィックス機能を無効にすることが必要になる場合があります。

  • 'None' — MATLAB は、グラフィックス ハードウェアを使用しません。ソフトウェア OpenGL を実行しているすべてのシステムでは、この値が返されます。一部のシステムでは、特定の機能のソフトウェア実装がサポートされている場合があります。

また、MATLAB でサポートされないドライバーが検出された場合は、このフィールドには 'known graphics driver issues' が含まれます。

SupportsDepthPeelTransparency

深度剥離による透明度機能のサポート。サポートされる場合は logical(1)、そうでない場合は logical(0) が返されます。

SupportsAlignVertexCenters

頂点の中心揃え機能のサポート。サポートされる場合は logical(1)、そうでない場合は logical(0) が返されます。

SupportsGraphicsSmoothing

グラフィックスの平滑化機能のサポート。サポートされる場合は logical(1)、そうでない場合は logical(0) が返されます。

MaxTextureSize

レンダラーがサポートする最大テクスチャ サイズ (ピクセル単位)。

MaxFrameBufferSize

レンダラーがサポートする最大フレーム バッファー サイズ (ピクセル単位)。

制限

関数 rendererinfo はライブ エディターではサポートされていません。

詳細

すべて折りたたむ

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

高度なグラフィックス機能には、特定のレンダラー実装が必要とされます。これにはグラフィックスの平滑化深度剥離による透明度頂点の中心揃えおよびハードウェア アクセラレータ版のマーカーがあります。info.Details 構造体の HardwareSupportLevel フィールドの値を取得することで、それらの機能の一部またはすべてがシステムでサポートされているかどうかがわかります。

次の表に、高度なグラフィックス機能と、各機能がサポートされる環境を示します。場合によっては、特定の機能がサポートされていても、グラフィックスの表示の問題を回避するために無効になっています。

グラフィックス機能 ハードウェア版 OpenGL ハードウェア基本機能版 OpenGL Windows のソフトウェア版 OpenGLLinux® のソフトウェア版 OpenGL WebGL
グラフィックスの平滑化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 は、グラフィックス ハードウェアによってサポートされている場合には、ハードウェア アクセラレータ版のグラフィックスの使用を試みます。ただし、MATLAB によって次の状況のいずれかが検出される場合には、ソフトウェア実装に自動的に切り替えられることもあります。

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

    • 以前の MATLAB セッションが、グラフィックスの問題が原因でクラッシュした場合。以前のセッションがソフトウェア版の OpenGL を使用していてクラッシュした場合、後続のセッションでは、機能の少ない、より安定したバージョンのソフトウェア版 OpenGL を使用します。

    • 必要なグラフィックス ハードウェアがシステムに含まれてない場合。

R2019a で導入