Zum Hauptinhalt springen

onStart()

onStart: ({ canvas, GLctx, computeCtx, isWebgl2, orientation, videoWidth, videoHeight, canvasWidth, canvasHeight, config })`

Beschreibung

onStart() wird aufgerufen, wenn XR startet.

Parameter

ParameterBeschreibung
LeinwandDie Leinwand, die die GPU-Verarbeitung und die Benutzeranzeige unterstützt.
GLctxDer WebGLRenderingContext oder WebGL2RenderingContext der Zeichenfläche.
computeCtxDer WebGLRenderingContext oder WebGL2RenderingContext der Rechenleinwand.
isWebgl2Wahr, wenn GLctx ein WebGL2RenderingContext ist.
OrientierungDie Drehung der Benutzeroberfläche gegenüber dem Hochformat, in Grad (-90, 0, 90, 180).
videoBreiteDie Höhe der Kameraübertragung in Pixeln.
videoHöheDie Höhe der Kameraübertragung in Pixeln.
canvasWidthDie Breite der `GLctx'-Leinwand, in Pixeln.
LeinwandHöheDie Höhe der `GLctx'-Leinwand, in Pixeln.
KonfigurationDie Konfigurationsparameter, die an XR8.run() übergeben wurden.

Beispiel

XR8.addCameraPipelineModule({
name: 'mycamerapipelinemodule',
onStart: ({canvasWidth, canvasHeight}) => {
// Abrufen der three.js-Szene. Diese wurde von XR8.Threejs.pipelineModule().onStart() erstellt. Der
// Grund, warum wir hier jetzt darauf zugreifen können, ist, dass 'mycamerapipelinemodule' nach
// XR8.Threejs.pipelineModule() installiert wurde.
const {scene, camera} = XR8.Threejs.xrScene()

// Fügen Sie der Szene einige Objekte hinzu und setzen Sie die Startposition der Kamera.
myInitXrScene({scene, camera})

// Synchronisieren Sie die 6DoF-Position und die Kameraparameter des XR-Controllers mit unserer Szene.
XR8.XrController.updateCameraProjectionMatrix({
origin: camera.position,
facing: camera.quaternion,
})
},
})