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}
},
})