Custom3DVolume QML Type
グラフにボリュームレンダリングされたオブジェクトを追加します。詳細...
| Import Statement: | import QtGraphs |
| In C++: | QCustom3DVolume |
| Inherits: |
- 継承されたメンバを含むすべてのメンバの一覧
- Custom3DVolumeは、Qt Graphs の3D用QMLタイプの一部です。
プロパティ
- alphaMultiplier : real
- drawSliceFrames : bool
- drawSlices : bool
- preserveOpacity : bool
- sliceFrameColor : color
- sliceFrameGaps : vector3d
- sliceFrameThicknesses : vector3d
- sliceFrameWidths : vector3d
- sliceIndexX : int
- sliceIndexY : int
- sliceIndexZ : int
- textureDepth : int
- textureHeight : int
- textureWidth : int
- useHighDefShader : bool
信号
- alphaMultiplierChanged(float mult)
- drawSliceFramesChanged(bool enabled)
- drawSlicesChanged(bool enabled)
- preserveOpacityChanged(bool enabled)
- sliceFrameColorChanged(color color)
- sliceFrameGapsChanged(vector3d values)
- sliceFrameThicknessesChanged(vector3d values)
- sliceFrameWidthsChanged(vector3d values)
- sliceIndexXChanged(int value)
- sliceIndexYChanged(int value)
- sliceIndexZChanged(int value)
- textureDepthChanged(int value)
- textureHeightChanged(int value)
- textureWidthChanged(int value)
- useHighDefShaderChanged(bool enabled)
詳細な説明
ボリュームレンダリングされたオブジェクトは、3Dテクスチャが適用された箱です。このボリュームに対しては、ボリュームの各主軸に沿った3つのスライス平面がサポートされています。
ボリュームオブジェクトのレンダリングは、特にボリュームが大部分透明である場合、ボリュームの内容がレイトレーシングされるため、非常に高い処理負荷がかかります。パフォーマンスは、画面上でボリュームが占めるピクセル数にほぼ線形に比例するため、ビューを小さく表示したり、グラフのズームレベルを制限したりすることが、パフォーマンスを向上させる簡単な方法です。 同様に、ボリュームテクスチャのサイズもパフォーマンスに大きな影響を与えます。ボリュームの内容をピクセル単位で正確にレンダリングすることよりもフレームレートを優先する場合は、useHighDefShader プロパティをfalse に設定して、高精細シェーダーを無効にすることを検討してください。
注: ボリュームデータの設定は 、純粋なQMLだけでは通常、効率的でも実用的でもありません。そのため、それに直接関連するプロパティはQMLからは完全にはサポートされていません。Qt Quick UIでボリュームオブジェクトを使用したい場合は、QMLとC++のハイブリッドアプリケーションを作成してください。
注: ボリューム オブジェクトは3Dテクスチャを利用しますが、これはOpenGL ES2環境ではサポートされていません。
「useHighDefShader」も参照してください 。
プロパティのドキュメント
alphaMultiplier : real
レンダリング時に、ボリュームテクスチャの各テクセルのアルファ値にこの値が乗算されます。これにより、ボリューム全体に均一な透明度を与えることができます。preserveOpacity がtrue の場合、最初からある程度の透明度を持つテクセルのみが影響を受け、完全に不透明なテクセルは影響を受けません。この値は負の値であってはなりません。デフォルトは1.0 です。
「preserveOpacity」も参照してください 。
drawSliceFrames : bool
このプロパティの値が `true` の場合、スライスインデックスプロパティで指定されたスライスの枠線がボリュームの周囲に描画されます。`false` の場合、スライスの枠線は描画されません。スライスの枠線の描画はスライスの描画とは独立しているため、ボリューム全体を表示しながら、その周囲にスライスの枠線を描画することができます。デフォルトは `false` です。
sliceIndexX 、sliceIndexY 、sliceIndexZ 、およびdrawSlicesも参照してください 。
drawSlices : bool
このプロパティの値が「true 」の場合、ボリューム全体ではなく、スライスインデックスプロパティで指定されたスライスが描画されます。値が「false 」の場合、常にボリューム全体が描画されます。デフォルトは「false 」です。
注:スライスは 常にアイテムの軸に沿って描画されるため、アイテムが回転すると、スライスも同様に回転します。
関連項目: sliceIndexX 、sliceIndexY 、およびsliceIndexZ 。
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::textureData 、drawSlices 、およびdrawSliceFramesも参照してください 。
sliceIndexY : int
テクスチャデータ内の y 次元インデックスで、どの水平スライスを表示するかを指定します。いずれかの次元の値を負に設定すると、その次元のスライスまたはスライスフレームは描画されません。すべての次元が負の場合、スライスやスライスフレームは描画されず、ボリュームは通常通り描画されます。デフォルトは-1 です。
QCustom3DVolume::textureData 、drawSlices 、およびdrawSliceFramesも参照してください 。
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 です。
Signal ドキュメント
alphaMultiplierChanged(float mult)
このシグナルは、alphaMultiplier がmult に変化したときに発生します。
注: 対応するハンドラは onAlphaMultiplierChanged です。
drawSliceFramesChanged(bool enabled)
このシグナルは、drawSliceFrames がenabled に変更されたときに発生します。
注: 対応するハンドラは onDrawSliceFramesChanged です。
drawSlicesChanged(bool enabled)
このシグナルは、drawSlices がenabled に変更されたときに発生します。
注: 対応するハンドラは onDrawSlicesChanged です。
preserveOpacityChanged(bool enabled)
このシグナルは、preserveOpacity がenabled に変更されたときに発生します。
注: 対応するハンドラは onPreserveOpacityChanged です。
sliceFrameColorChanged(color color)
このシグナルは、sliceFrameColor がcolor に変更されたときに発生します。
注: 対応するハンドラは onSliceFrameColorChanged です。
sliceFrameGapsChanged(vector3d values)
このシグナルは、sliceFrameGaps がvalues に変更されたときに発生します。
注: 対応するハンドラは onSliceFrameGapsChanged です。
sliceFrameThicknessesChanged(vector3d values)
このシグナルは、sliceFrameThicknesses がvalues に変更されたときに発生します。
注: 対応するハンドラは onSliceFrameThicknessesChanged です。
sliceFrameWidthsChanged(vector3d values)
このシグナルは、sliceFrameWidths がvalues に変更されたときに発せられます。
注: 対応するハンドラは onSliceFrameWidthsChanged です。
sliceIndexXChanged(int value)
このシグナルは、sliceIndexX がvalue に変更されたときに発せられます。
注: 対応するハンドラは onSliceIndexXChanged です。
sliceIndexYChanged(int value)
このシグナルは、sliceIndexY がvalue に変更されたときに発生します。
注: 対応するハンドラは onSliceIndexYChanged です。
sliceIndexZChanged(int value)
このシグナルは、sliceIndexZ がvalue に変更されたときに発信されます。
注: 対応するハンドラは onSliceIndexZChanged です。
textureDepthChanged(int value)
このシグナルは、textureDepth がvalue に変更されたときに発せられます。
注: 対応するハンドラは onTextureDepthChanged です。
textureHeightChanged(int value)
このシグナルは、textureHeight がvalue に変化したときに発生します。
注: 対応するハンドラは onTextureHeightChanged です。
textureWidthChanged(int value)
このシグナルは、textureWidth がvalue に変化したときに発生します。
注: 対応するハンドラは onTextureWidthChanged です。
useHighDefShaderChanged(bool enabled)
このシグナルは、useHighDefShader がenabled に変更されたときに発せられます。
注: 対応するハンドラは onUseHighDefShaderChanged です。
© 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.