|
|
@@ -596,7 +596,22 @@ class XRManager extends EventDispatcher {
|
|
|
|
|
|
}
|
|
|
|
|
|
- createQuadLayer( width, height, translation, quaternion, pixelwidth, pixelheight, rendercall, attributes = [] ) {
|
|
|
+ /**
|
|
|
+ * This method can be used in XR applications to create a quadratic layer that presents a separate
|
|
|
+ * rendered scene.
|
|
|
+ *
|
|
|
+ * @param {number} width - The width of the layer plane in world units.
|
|
|
+ * @param {number} height - The height of the layer plane in world units.
|
|
|
+ * @param {Vector3} translation - The position/translation of the layer plane in world units.
|
|
|
+ * @param {Quaternion} quaternion - The orientation of the layer plane expressed as a quaternion.
|
|
|
+ * @param {number} pixelwidth - The width of the layer's render target in pixels.
|
|
|
+ * @param {number} pixelheight - The height of the layer's render target in pixels.
|
|
|
+ * @param {Function} rendercall - A callback function that renders the layer. Similar to code in
|
|
|
+ * the default animation loop, this method can be used to update/transform 3D object in the layer's scene.
|
|
|
+ * @param {Object} [attributes={}] - Allows to configure the layer's render target.
|
|
|
+ * @return {Mesh} A mesh representing the quadratic XR layer. This mesh should be added to the XR scene.
|
|
|
+ */
|
|
|
+ createQuadLayer( width, height, translation, quaternion, pixelwidth, pixelheight, rendercall, attributes = {} ) {
|
|
|
|
|
|
const geometry = new PlaneGeometry( width, height );
|
|
|
const renderTarget = new XRRenderTarget(
|
|
|
@@ -669,7 +684,23 @@ class XRManager extends EventDispatcher {
|
|
|
|
|
|
}
|
|
|
|
|
|
- createCylinderLayer( radius, centralAngle, aspectratio, translation, quaternion, pixelwidth, pixelheight, rendercall, attributes = [] ) {
|
|
|
+ /**
|
|
|
+ * This method can be used in XR applications to create a cylindrical layer that presents a separate
|
|
|
+ * rendered scene.
|
|
|
+ *
|
|
|
+ * @param {number} radius - The radius of the cylinder in world units.
|
|
|
+ * @param {number} centralAngle - The central angle of the cylinder in radians.
|
|
|
+ * @param {number} aspectratio - The aspect ratio.
|
|
|
+ * @param {Vector3} translation - The position/translation of the layer plane in world units.
|
|
|
+ * @param {Quaternion} quaternion - The orientation of the layer plane expressed as a quaternion.
|
|
|
+ * @param {number} pixelwidth - The width of the layer's render target in pixels.
|
|
|
+ * @param {number} pixelheight - The height of the layer's render target in pixels.
|
|
|
+ * @param {Function} rendercall - A callback function that renders the layer. Similar to code in
|
|
|
+ * the default animation loop, this method can be used to update/transform 3D object in the layer's scene.
|
|
|
+ * @param {Object} [attributes={}] - Allows to configure the layer's render target.
|
|
|
+ * @return {Mesh} A mesh representing the cylindrical XR layer. This mesh should be added to the XR scene.
|
|
|
+ */
|
|
|
+ createCylinderLayer( radius, centralAngle, aspectratio, translation, quaternion, pixelwidth, pixelheight, rendercall, attributes = {} ) {
|
|
|
|
|
|
const geometry = new CylinderGeometry( radius, radius, radius * centralAngle / aspectratio, 64, 64, true, Math.PI - centralAngle / 2, centralAngle );
|
|
|
const renderTarget = new XRRenderTarget(
|
|
|
@@ -743,6 +774,12 @@ class XRManager extends EventDispatcher {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Renders the XR layers that have been previously added to the scene.
|
|
|
+ *
|
|
|
+ * This method is usually called in your animation loop before rendering
|
|
|
+ * the actual scene via `renderer.render( scene, camera );`.
|
|
|
+ */
|
|
|
renderLayers( ) {
|
|
|
|
|
|
const translationObject = new Vector3();
|