Zum Hauptinhalt springen

onStart()

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

Beschreibung

onStart() wird aufgerufen, wenn XR startet.

Parameter

ParameterBeschreibung
canvasDie Leinwand, die die GPU-Verarbeitung und die Benutzeranzeige unterstützt.
GLctxDer WebGLRenderingContext oder WebGL2RenderingContext der Zeichenfläche.
computeCtxDer WebGLRenderingContext oder WebGL2RenderingContext des Compute Canvas.
isWebgl2Wahr, wenn GLctx ein WebGL2RenderingContext ist.
orientierungDie Drehung der Benutzeroberfläche gegenüber dem Hochformat, in Grad (-90, 0, 90, 180).
videoWidthDie Höhe des Kamerafeeds in Pixeln.
videoHeightDie Höhe des Kamerafeeds in Pixeln.
canvasWidthDie Breite der GLctx Leinwand in Pixeln.
canvasHeightDie Höhe der GLctx Leinwand in Pixeln.
configDie Konfigurationsparameter, die an XR8.run() übergeben wurden.

Beispiel

XR8.addCameraPipelineModule({
name: 'mycamerapipelinemodule',
onStart: ({canvasWidth, canvasHeight}) => {
// Holen Sie sich die three.js Szene. Dies 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 legen Sie die Startposition der Kamera fest.
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,
})
},
})