Create a multi layered volume rendering. It takes in a 2D texture representing the multiple layers in xy plane. The volume is extruded by interpolating the values in xy planes.
Signature:
export default class MultiLayerVolume extends Visualize
Extends: Visualize
var textureBuffer = new Float32Array(2048 * 2048);
for (var i = 0; i < 2048; i++) {
for (var j = 0; j < 2048; j++) {
var distance = Math.sqrt(Math.pow((i - 1024), 2) + Math.pow((j - 1024), 2));
textureBuffer[i * 2048 + j] = Math.max(0.0, 1 - distance / 512);
}
}
const volume = new Modelo.Scene3D.Visualize.MultiLayerVolume(viewer.getRenderScene());
viewer.getScene().addVisualize(volume);
volume.setParameter("gridSize", [8, 6]); // Set the grid size of the texture.
volume.setParameter("layers", 48); // total layers of data
volume.setParameter("data", { "data": textureBuffer, "width": 2048, "height": 1536} );
volume.setParameter("platteImage", "platte.png");
volume.setParameter("gradientImage", "density.png");
volume.setScaling([50, 50, 15]);
volume.setPosition([0, 0, 7.7]);
volume.setEnabled(true);
Constructor | Description |
---|---|
(constructor)(renderScene) | Construct a volume rendering object. |
Method | Description |
---|---|
getVolumeTexture() | |
setParameter(name, value) | Set the rendering parameters of bar chart visualization. |
setPosition(position) | |
setRotation(axis, angle) | Set the rotation of visualization object. |
setRotationByQuat(quat) | Set rotation by quaternion. |
setScaling(scale) | Set the size of visualization object. |