Zum Hauptinhalt springen

onProcessGpu()

onProcessGpu: ({ framework, frameStartResult })

Beschreibung

onProcessGpu()` wird aufgerufen, um die GPU-Verarbeitung zu starten.

Parameter

ParameterBeschreibung
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:

EigentumBeschreibung
cameraTextureDie WebGLTexture der Zeichenfläche, die die Kameradaten enthält.
computeTextureDie WebGLTexture der Berechnungsleinwand, die die Daten des Kamerafeed enthält.
GLctxDer WebGLRenderingContext oder WebGL2RenderingContext der Zeichenfläche.
computeCtxDer WebGLRenderingContext oder WebGL2RenderingContext der Rechenleinwand.
texturBreiteDie Breite (in Pixeln) der Kameratextur.
texturHöheDie Höhe (in Pixeln) der Kameratextur.
OrientierungDie Drehung der Benutzeroberfläche gegenüber dem Hochformat, in Grad (-90, 0, 90, 180).
videoZeitDer Zeitstempel dieses Videobildes.
repeatFrameTrue, 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}
},
})