Custom3DVolume QML 类型
向图表中添加一个体积渲染对象。 更多信息...
导入声明 | import QtDataVisualization 1.7 |
自 | QtDataVisualization 1.2 |
实例化 | QCustom3DVolume |
继承 |
属性
- 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
详细描述
体积渲染对象是一个带有一个 3D 纹理的盒子。对于体积,支持三个切片平面,每个平面沿体积的主轴之一。
渲染体积对象非常消耗性能,尤其是在体积大部分透明时,因为体积的内容是通过光线追踪实现的。性能几乎与体积在屏幕上占用的像素量成线性关系,因此在小视图中显示体积或者限制图表的缩放级别是提高性能的简单方法。同样,体积纹理的尺寸对性能有很大的影响。如果帧率比像素完美的体积内容渲染更重要,请考虑禁用高定义着色器,通过将 useHighDefShader 属性设置为 false
。
注意: 从纯QML中填充体积数据通常既不高效也不实用,因此与此相关的属性在QML中不支持完全。如果您想使用带Qt Quick UI的体积对象,请创建混合QML/C++应用程序。
注意: 仅支持正交投影来使用体积对象。
注意: 体积对象使用3D纹理,这些纹理在OpenGL ES2环境中不支持。
另请参阅:AbstractGraph3D::orthoProjection 和 useHighDefShader。
属性说明
alphaMultiplier : real |
在渲染时,每个体积纹理的alpha值会乘以这个值。这可以用于给体积引入均匀的不透明度。如果 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
,则乘子应用于所有纹理素的alpha值。默认为 true
。
另请参阅:alphaMultiplier。
sliceFrameColor : color |
sliceFrameGaps : vector3d |
留空量的大小,它在每一维中,都留出了体积本身和框架之间的空间。不同维度的间隙可以不同。这些值是该维度体积厚度的分数。值不能为负。
默认为 vector3d(0.01, 0.01, 0.01)
。
另请参阅:drawSliceFrames。
sliceFrameThicknesses : vector3d |
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
。
© 2024 Qt公司有限公司。本文件中的文档贡献者是各自版权的拥有者。本提供的文档是根据免费软件基金会发布的GNU自由文档许可协议版本1.3许可的。Qt及其相关标志在芬兰以及世界其他国家和地区是Qt公司有限公司的商标。所有其他商标均为各自拥有者的财产。