このページでは

Custom3DVolume QML Type

ボリュームレンダリングされたオブジェクトをグラフに追加します。詳細...

Import Statement: import QtDataVisualization 1.11
Since: QtDataVisualization 1.2
In C++: QCustom3DVolume
Inherits:

Custom3DItem

プロパティ

詳細説明

ボリュームレンダリングされたオブジェクトは、3Dテクスチャを持つボックスです。ボリュームには、ボリュームの各主軸に沿った3つのスライスプレーンがサポートされています。

ボリュームオブジェクトのレンダリングは、特にボリュームの内容がレイトレースされるため、ボリュームの大部分が透明である場合、非常にパフォーマンスが集中します。パフォーマンスは、ボリュームが画面上で占めるピクセル量とほぼリニアにスケールするため、ボリュームを小さく表示するか、グラフのズームレベルを制限することが、パフォーマンスを向上させる簡単な方法です。同様に、ボリュームのテクスチャ寸法もパフォーマンスに大きな影響を与えます。ボリュームの内容をピクセル単位で完璧にレンダリングするよりもフレームレートを重視する場合は、useHighDefShader プロパティをfalse に設定して高解像度シェーダをオフにすることを検討してください。

注意: ボリュームデータへの入力は、純粋なQMLからは通常効率的で実用的で はないため、これに直接関係するプロパティはQMLでは完全にはサポートされてい ません。ボリュームオブジェクトをQt Quick UI で使用したい場合は、QML/C++ のハイブリッドアプリケーションを作成してください。

注意: ボリュームオブジェクトは、正射投影でのみサポートされています。

注意: ボリュームオブジェクトは3Dテクスチャを利用しますが、OpenGL ES2環境ではサポートされていません。

AbstractGraph3D::orthoProjection およびuseHighDefShaderも参照してください

プロパティのドキュメント

alphaMultiplier : real

ボリュームテクスチャの各テクセルのアルファ値は、レンダリング時にこの値と乗算されます。これは、ボリュームに均一な透明度を導入するために使用できます。preserveOpacitytrue の場合、少なくともある程度の透明度を持つテクセルのみが影響を受け、完全に不透明なテクセルは影響を受けません。この値は負であってはいけません。デフォルトは1.0 です。

preserveOpacityも参照してください

drawSliceFrames : bool

このプロパティ値がtrue の場合、スライスインデックスプロパティで示されるスライスのフレームがボリュームの周囲に描画される。false の場合、スライスフレームは描画されません。スライス枠の描画はスライスの描画とは独立しているので、ボリューム全体を表示しながら、その周囲にスライス枠を描画することができます。デフォルトはfalse です。

sliceIndexX,sliceIndexY,sliceIndexZ,drawSlicesも参照してください

drawSlices : bool

このプロパティ値がtrue の場合、フルボリュームではなく、スライスインデックスプロパティで示されるスライスが描画される。こ のプ ロ パテ ィ 値がfalse の場合、 容積全体が常に描画 さ れます。デフォルトはfalse です。

注意: スライスは常にアイテムの軸に沿って描画されるので、アイテムが回転するとスライスも回転します。

sliceIndexXsliceIndexYsliceIndexZも参照してください

preserveOpacity : bool

このプロパティ値がtrue の場合、alphaMultiplier は、すでにある程度の透明度を持つテクセルにのみ適用されます。こ のプ ロパテ ィ 値がfalse の場合、 乗数はすべてのテ キ セルのアルフ ァ 値に適用 さ れます。デフォルトはtrue です。

alphaMultiplierも参照してください

sliceFrameColor : color

スライス枠の色。透明なスライス枠の色はサポートされていない。

デフォルトは黒。

drawSliceFramesも参照

sliceFrameGaps : vector3d

各寸法において、容積本体とフレームとの間に残された空隙の大きさ。ギャップは異なる寸法で異なることがある。値は、同じ寸法におけるボリュームの厚さの分数である。値を負にすることはできない。

デフォルトはvector3d(0.01, 0.01, 0.01)

drawSliceFramesも参照

sliceFrameThicknesses : vector3d

各次元のスライス枠の厚さ。値は同じ次元の体積の厚さの分数。値は負にできない。

デフォルトはvector3d(0.01, 0.01, 0.01)

drawSliceFramesも参照してください

sliceFrameWidths : vector3d

スライス枠の幅。幅は異なる次元で異なることができるので、例えば、その次元の値をゼロに設定することで、ボリュームの特定の辺のフレームを描画するのを省略することができます。値は、同じ次元のボリュームの厚さの分数です。値を負にすることはできません。

デフォルトはvector3d(0.01, 0.01, 0.01)

drawSliceFramesも参照してください

sliceIndexX : int

どの垂直スライスを表示するかを示す、テクスチャデータのx次元インデックス。いずれかの次元を負に設定すると、その次元のスライスまたはスライスフレームが描画されないことを示します。すべての次元が負の場合、スライスやスライスフレームは描画されず、ボリュームは正常に描画されます。デフォルトは-1

QCustom3DVolume::textureDatadrawSlicesdrawSliceFramesも参照してください

sliceIndexY : int

どの水平スライスを表示するかを示す、テクスチャデータのy次元インデックス。いずれかの次元を負に設定すると、その次元のスライスまたはスライスフレームが描画されないことを示します。すべての次元が負の場合、スライスやスライスフレームは描画されず、ボリュームは正常に描画されます。デフォルトは-1

QCustom3DVolume::textureDatadrawSlicesdrawSliceFramesも参照してください

sliceIndexZ : int

どの垂直スライスを表示するかを示す、テクスチャデータのz次元インデックス。いずれかの次元を負に設定すると、その次元のスライスまたはスライスフレームが描画されないことを示します。すべての次元が負の場合、スライスやスライスフレームは描画されず、ボリュームは正常に描画されます。デフォルトは-1

QCustom3DVolume::textureData,drawSlices,drawSliceFramesも参照してください

textureDepth : int

ボリューム内容を定義する 3D テクスチャの深さをピクセル単位で指定します。デフォルトは0 です。

注意: QML からこのプロパティを変更することはサポートされていません。

textureHeight : int

ボリューム内容を定義する 3D テクスチャの高さをピクセル単位で指定します。デフォルトは0 です。

注意: QML からこのプロパティを変更することはサポートされていません。

textureWidth : int

ボリューム内容を定義する 3D テクスチャの幅をピクセル単位で指定します。デフォルトは0 です。

注意: QML からこのプロパティを変更することはサポートされていません。

useHighDefShader : bool

このプロパティ値がtrue の場合、ボリュームのレンダリングに高解像度シェーダが使用されます。false の場合、低解像度シェーダが使用されます。

高解像度シェーダは、ボリュームのレンダリング時にボリュームテクスチャのすべての可視テクセルがサンプリングされることを保証します。低精細度シェーダはボリュームの内容の大まかな近似だけをレンダリング しますが、フレームレートはずっと高くなります。低解像度シェーダはボリュームテクスチャのすべてのテクセルがサンプリングされることを保証しないため、ボリュームに明瞭な薄い特徴がある場合、ちらつきが発生する可能性があります。

注意: この値は、ボリュームのスライスをレンダリングする際の詳細レベルには影響しません。

デフォルトはtrue です。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.