PySide6.Qt3DRender.Qt3DRender.QLevelOfDetail¶
- class QLevelOfDetail¶
- The - QLevelOfDetailclass provides a way of controlling the complexity of rendered entities based on their size on the screen.- Details- QLevelOfDetailcan 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 - currentIndexproperty will change to reflect matching value in the range array.- The - currentIndexproperty can then be used, for example, to enable or disable entities, change material, etc.- The 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); QList<qreal> thresholds = {20, 35, 50, 65}; lod->setThresholds(thresholds); lod->setCamera(mainCamera); renderableEntity->addComponent(lod); // connect to QLevelOfDetail::currentIndexChanged to toggle rendering ... - Inherited by: - QLevelOfDetailSwitch- Synopsis¶- Properties¶- Methods¶- def - __init__()
- def - camera()
- def - currentIndex()
- def - thresholdType()
- def - thresholds()
- def - volumeOverride()
 - Slots¶- def - setCamera()
- def - setThresholds()
 - Signals¶- Note - This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE - class ThresholdType¶
- Specifies how the values in the thresholds are interpreted - Constant - Description - 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. 
 - Note - Properties can be used directly when - from __feature__ import true_propertyis used or via accessor functions otherwise.- Holds the id of the camera that is used to compute the actual distance or the screen size. - Access functions:
- Signal - cameraChanged()
 
 - property currentIndexᅟ: int¶
 - The index in the range array which matches the current distance to the camera or screen size. - Access functions:
 - property thresholdTypeᅟ: Qt3DRender.QLevelOfDetail.ThresholdType¶
 - Specifies how range values are interpreted. - See also - ThresholdType- Access functions:
 - property thresholdsᅟ: list of qreal¶
 - Array of range values as float point numbers. The value for the most detailed representation should be specified first. - If - thresholdTypeis set to- DistanceToCameraThreshold, values should be specified in ascending order, in camera space coordinates- If - thresholdTypeis set to- ProjectedScreenPixelSizeThreshold, values should be specified in descending order, in screen space pixels.- See also - ThresholdType- Access functions:
 - property volumeOverrideᅟ: QLevelOfDetailBoundingSphere¶
 - The default is a sphere of radius 1 and centered at the local origin of the entity. This proxy volume is used to compute the distance to the camera or the size of the screen projection. - If this value to nullptr, the bounding volume of the entity is used. Care must be taken that this bounding volume never becomes invalid. - See also - QLevelOfDetailBoundingSphere- Access functions:
 - __init__([parent=None])¶
- Parameters:
- parent – - QNode
 
 - Constructs a new - QLevelOfDetailwith the specified- parent.- camera()¶
- Return type:
- QCamera
 - See also - setCamera()
 - Getter of property - cameraᅟ.- cameraChanged(camera)¶
- Parameters:
- camera – - QCamera
 
 - Notification signal of property - cameraᅟ.- createBoundingSphere(center, radius)¶
- Parameters:
- center – - QVector3D
- radius – float 
 
- Return type:
- QLevelOfDetailBoundingSphere
 
 - currentIndex()¶
- Return type:
- int 
 - See also - setCurrentIndex()
 - Getter of property - currentIndexᅟ.- currentIndexChanged(currentIndex)¶
- Parameters:
- currentIndex – int 
 
 - Notification signal of property - currentIndexᅟ.- setCamera(camera)¶
- Parameters:
- camera – - QCamera
 
 - Sets the - camerarelative to which distance and size are computed.- See also - camera()- Setter of property - cameraᅟ.- setCurrentIndex(currentIndex)¶
- Parameters:
- currentIndex – int 
 
 - Sets the - currentIndex.- Note - 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. - See also - currentIndex()- Setter of property - currentIndexᅟ.- setThresholdType(thresholdType)¶
- Parameters:
- thresholdType – - ThresholdType
 
 - Sets the way thresholds values are interpreted with parameter - thresholdType- See also - thresholdType()- ThresholdType- Setter of property - thresholdTypeᅟ.- setThresholds(thresholds)¶
- Parameters:
- thresholds – .list of qreal 
 
 - Sets the range values in - thresholds.- See also - thresholds()- thresholdType- Setter of property - thresholdsᅟ.- setVolumeOverride(volumeOverride)¶
- Parameters:
- volumeOverride – - QLevelOfDetailBoundingSphere
 - See also - volumeOverride()
 - Setter of property - volumeOverrideᅟ.- thresholdType()¶
- Return type:
- ThresholdType
 - See also - setThresholdType()
 - Getter of property - thresholdTypeᅟ.- thresholdTypeChanged(thresholdType)¶
- Parameters:
- thresholdType – - ThresholdType
 
 - Notification signal of property - thresholdTypeᅟ.- thresholds()¶
- Return type:
- .list of qreal 
 - See also - setThresholds()
 - Getter of property - thresholdsᅟ.- thresholdsChanged(thresholds)¶
- Parameters:
- thresholds – .list of qreal 
 
 - Notification signal of property - thresholdsᅟ.- volumeOverride()¶
- Return type:
- QLevelOfDetailBoundingSphere
 - See also - setVolumeOverride()
 - Getter of property - volumeOverrideᅟ.- volumeOverrideChanged(volumeOverride)¶
- Parameters:
- volumeOverride – - QLevelOfDetailBoundingSphere
 
 - Notification signal of property - volumeOverrideᅟ.