onProcessGpu()
onProcessGpu: ({ framework, frameStartResult })
Beschreibung
onProcessGpu()\` wird aufgerufen, um die GPU-Verarbeitung zu starten.
Parameter
| Parameter | Beschreibung |
|---|---|
| Rahmenwerk | { dispatchEvent(eventName, detail) } : Sendet ein benanntes Ereignis mit den angegebenen Details. |
| frameStartResult | { cameraTexture, computeTexture, GLctx, computeCtx, textureWidth, textureHeight, orientation, videoTime, repeatFrame } |
Der Parameter "frameStartResult" hat die folgenden Eigenschaften:
| Eigentum | Beschreibung |
|---|---|
| cameraTexture | Die WebGLTexture der Zeichenfläche, die die Kameradaten enthält. |
| computeTexture | Die WebGLTexture der Berechnungsleinwand, die die Daten des Kamerafeed enthält. |
| GLctx | Der WebGLRenderingContext oder WebGL2RenderingContext der Zeichenfläche. |
| computeCtx | Der WebGLRenderingContext oder WebGL2RenderingContext der Rechenleinwand. |
| texturBreite | Die Breite (in Pixeln) der Kameratextur. |
| texturHöhe | Die Höhe (in Pixeln) der Kameratextur. |
| Orientierung | Die Drehung der Benutzeroberfläche gegenüber dem Hochformat, in Grad (-90, 0, 90, 180). |
| videoZeit | Der Zeitstempel dieses Videobildes. |
| repeatFrame | True, wenn der Kamerafeed seit dem letzten Aufruf nicht aktualisiert wurde. |
Rückgabe
Alle Daten, die Sie onProcessCpu und onUpdate zur Verfügung stellen wollen, sollten
zurückgegeben werden. Er wird diesen Methoden als processGpuResult.modulename zur Verfügung gestellt.
Beispiel
XR8.addCameraPipelineModule({
name: 'mycamerapipelinemodule',
onProcessGpu: ({frameStartResult}) => {
const {cameraTexture, GLctx, textureWidth, textureHeight} = frameStartResult
if(!cameraTexture.name){
console.error("[index] Kameratextur hat keinen Namen")
}
const restoreParams = XR8.GlTextureRenderer.getGLctxParameters(GLctx, [GLctx.TEXTURE0])
// Relevante GPU-Verarbeitung hier durchführen
...
XR8.GlTextureRenderer.setGLctxParameters(GLctx, restoreParams)
// Diese Felder werden an onProcessCpu und onUpdate übergeben
return {gpuDataA, gpuDataB}
},
})