Zum Hauptinhalt springen

onProcessGpu()

onProcessGpu: ({ framework, frameStartResult })

Beschreibung

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

Parameter

ParameterBeschreibung
framework{ 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 Daten des Kamerafeeds enthält.
computeTextureDie WebGLTexture des Compute Canvas, die die Daten des Kamerafeeds enthält.
GLctxDer WebGLRenderingContext oder WebGL2RenderingContext der Zeichenfläche.
computeCtxDer WebGLRenderingContext oder WebGL2RenderingContext des Compute Canvas.
texturBreiteDie Breite (in Pixeln) der Textur des Kamerafeeds.
textureHeightDie Höhe (in Pixeln) der Textur des Kamerafeeds.
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.

Returns

Alle Daten, die Sie onProcessCpu und onUpdate zur Verfügung stellen möchten, 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])
// Machen Sie hier die relevante GPU-Verarbeitung
...
XR8.GlTextureRenderer.setGLctxParameters(GLctx, restoreParams)

// Diese Felder werden an onProcessCpu und onUpdate übergeben
return {gpuDataA, gpuDataB}
},
})