이 페이지에서

Custom3DVolume QML Type

그래프에 볼륨 렌더링된 객체를 추가합니다. 더 보기...

Import Statement: import QtGraphs
In C++: QCustom3DVolume
Inherits:

Custom3DItem

속성

신호

상세 설명

볼륨 렌더링된 오브젝트는 3D 텍스처가 적용된 상자입니다. 볼륨에 대해 세 개의 단면 평면이 지원되며, 각각 볼륨의 주요 축을 따라 하나씩 위치합니다.

볼륨 객체를 렌더링하는 작업은 특히 볼륨이 대부분 투명한 경우, 볼륨 내부의 내용이 레이 트레이싱을 통해 처리되기 때문에 성능에 큰 부담을 줍니다. 성능은 볼륨이 화면에서 차지하는 픽셀 수에 따라 거의 선형적으로 비례하므로, 볼륨을 더 작은 화면으로 표시하거나 그래프의 확대/축소 수준을 제한하는 것이 성능을 향상시키는 쉬운 방법입니다. 마찬가지로, 볼륨 텍스처의 크기도 성능에 큰 영향을 미칩니다. 볼륨 내용의 픽셀 단위 정밀 렌더링보다 프레임 속도가 더 중요하다면, ` 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

슬라이스 프레임의 너비입니다. 각 차원마다 너비가 다를 수 있으므로, 예를 들어 특정 차원의 값을 0으로 설정하여 볼륨의 특정 면에 대한 프레임 그리기를 생략할 수 있습니다. 값은 해당 차원의 볼륨 두께에 대한 비율로 표시됩니다. 값은 음수일 수 없습니다.

기본값은 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.