内容表

上一话题

Qt3DRender.QLayerFilter

下一话题

Qt3DRender.QLevelOfDetailBoundingSphere

Qt3DRender.QLevelOfDetail

QLevelOfDetail class provides a way of controlling the complexity of rendered entities based on their size on the screen. 更多

Inheritance diagram of PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail

继承者: Qt3DRender.QLevelOfDetailSwitch

概要

信号

详细描述

QLevelOfDetail can be used to control the representation of an entity based on distance from the observer or size on the screen.

In order to improve rendering performance, objects that are very small can be rendered using far fewer details, in geometry or texture.

The component is controlled by specifying thresholds of values which are interpreted as either distances from the camera or screen size.

As the point of view changes, the currentIndex property will change to reflect matching value in the range array.

currentIndex property can then be used, for example, to enable or disable entities, change material, etc.

LevelOfDetail component is not shareable between multiple entities .

 #include <Qt3DCore/QEntity>
 #include <Qt3DRender/QGeometryRenderer>
 #include <Qt3DRender/QLevelOfDetail>
// Scene
Qt3DCore::QEntity *rootEntity = new Qt3DCore::Qt3DCore::QEntity;
Qt3DCore::QEntity *renderableEntity = new Qt3DCore::QEntity(rootEntity);
Qt3DRender::QGeometryRenderer *geometryRenderer = new Qt3DCore::QGeometryRenderer(renderableEntity);
renderableEntity->addComponent(geometryRenderer);
Qt3DRender::QLevelOfDetail* lod = new Qt3Render::QLevelOfDetail(renderableEntity);
QVector<qreal> thresholds = {20, 35, 50, 65};
lod->setThresholds(thresholds);
lod->setCamera(mainCamera);
renderableEntity->addComponent(lod);
// connect to QLevelOfDetail::currentIndexChanged to toggle rendering
...
											
class PySide2.Qt3DRender.Qt3DRender. QLevelOfDetail ( [ parent=None ] )
param parent

QNode

构造新 QLevelOfDetail with the specified parent .

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. ThresholdType

Specifies how the values in the thresholds are interpreted

常量

描述

Qt3DRender.QLevelOfDetail.DistanceToCameraThreshold

Distance from the entity to the selected camera

Qt3DRender.QLevelOfDetail.ProjectedScreenPixelSizeThreshold

Size of the entity when projected on the screen as seen from the selected camera, expressed in number of pixels on the side of the bounding square in screen space.

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. camera ( )
返回类型

QCamera

另请参阅

setCamera()

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. cameraChanged ( camera )
参数

camera QCamera

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. createBoundingSphere ( center , radius )
参数
  • center QVector3D

  • radius float

返回类型

QLevelOfDetailBoundingSphere

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. currentIndex ( )
返回类型

int

另请参阅

setCurrentIndex()

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. currentIndexChanged ( currentIndex )
参数

currentIndex int

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. setCamera ( camera )
参数

camera QCamera

设置 camera relative to which distance and size are computed.

另请参阅

camera()

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. setCurrentIndex ( currentIndex )
参数

currentIndex int

设置 currentIndex .

注意

This should not normally be set by the user.

However, if the component is disabled, then changing the current index is a simple way of switching between multiple representations.

另请参阅

currentIndex()

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. setThresholdType ( thresholdType )
参数

thresholdType ThresholdType

Sets the way thresholds values are interpreted with parameter thresholdType

另请参阅

thresholdType() ThresholdType

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. setThresholds ( thresholds )
参数

thresholds

Sets the range values in thresholds .

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. setVolumeOverride ( volumeOverride )
参数

volumeOverride QLevelOfDetailBoundingSphere

另请参阅

volumeOverride()

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. thresholdType ( )
返回类型

ThresholdType

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. thresholdTypeChanged ( thresholdType )
参数

thresholdType ThresholdType

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. thresholds ( )
返回类型

另请参阅

setThresholds()

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. thresholdsChanged ( thresholds )
参数

thresholds

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. volumeOverride ( )
返回类型

QLevelOfDetailBoundingSphere

PySide2.Qt3DRender.Qt3DRender.QLevelOfDetail. volumeOverrideChanged ( volumeOverride )
参数

volumeOverride QLevelOfDetailBoundingSphere