Meshroom/meshroom/ui/qml/Viewer3D/EnvironmentMapEntity.qml
Yann Lanthony 63ffb20819
[ui][3D] add EnvironmentMapEntity to display equirectangular images
Load EXR files in the 3D viewport as environment maps mapped on a sphere "attached"  to the camera.
* improve exr loading strategy by considering depthmaps and env maps
* update to DepthMapEntity 2.1 (required to get the loading status)
2019-12-13 17:17:03 +01:00

48 lines
1.2 KiB
QML

import QtQuick 2.9
import Qt3D.Core 2.1
import Qt3D.Render 2.1
import Qt3D.Extras 2.10
/**
* EnvironmentMap maps an equirectangular image on a Sphere.
* The 'position' property can be used to virually attach it to a camera
* and get the impression of an environment at an infinite distance.
*/
Entity {
id: root
/// Source of the equirectangular image
property url source
/// Radius of the sphere
property alias radius: sphereMesh.radius
/// Number of slices of the sphere
property alias slices: sphereMesh.slices
/// Number of rings of the sphere
property alias rings: sphereMesh.rings
/// Position of the sphere
property alias position: transform.translation
components: [
SphereMesh {
id: sphereMesh
radius: 1000
slices: 50
rings: 50
},
Transform {
id: transform
translation: root.position
},
DiffuseMapMaterial {
ambient: "#FFF"
shininess: 0
specular: "#000"
diffuse: TextureLoader {
magnificationFilter: Texture.Linear
mirrored: true
source: root.source
}
}
]
}