Skip to main content

onProcessGpu()

onProcessGpu : ({ framework, frameStartResult })

Description

onProcessGpu() est appelé pour démarrer le traitement GPU.

Paramètres

ParamètresDescription
cadre{ dispatchEvent(eventName, detail) } : émet un événement nommé avec les détails fournis.
frameStartResult{ cameraTexture, computeTexture, GLctx, computeCtx, textureWidth, textureHeight, orientation, videoTime, repeatFrame }

Le paramètre frameStartResult a les propriétés suivantes :

PropriétéDescription
cameraTextureLa [WebGLTexture] du canevas de dessin (https://developer.mozilla.org/en-US/docs/Web/API/WebGLTexture) contenant les données de la caméra.
calculerTextureLa [WebGLTexture] du canevas de calcul (https://developer.mozilla.org/en-US/docs/Web/API/WebGLTexture) contenant les données de la caméra.
GLctxLe WebGLRenderingContext ou WebGL2RenderingContext du canevas de dessin.
calculerCtxLe WebGLRenderingContext ou WebGL2RenderingContext du canevas de calcul.
largeur de la textureLargeur (en pixels) de la texture du flux de la caméra.
hauteur de la textureHauteur (en pixels) de la texture du flux de la caméra.
l'orientationLa rotation de l'interface utilisateur par rapport au portrait, en degrés (-90, 0, 90, 180).
durée de la vidéoL'horodatage de cette image vidéo.
repeatFrameVrai si le flux de la caméra n'a pas été mis à jour depuis le dernier appel.

Retourne

Toutes les données que vous souhaitez fournir à onProcessCpu et onUpdate doivent être renvoyées à . Il sera fourni à ces méthodes en tant que processGpuResult.modulename

Exemple

XR8.addCameraPipelineModule({
name : 'mycamerapipelinemodule',
onProcessGpu : ({frameStartResult}) => {
const {cameraTexture, GLctx, textureWidth, textureHeight} = frameStartResult

if(!cameraTexture.name){
console.error("[index] Camera texture does not have a name")
}

const restoreParams = XR8.GlTextureRenderer.getGLctxParameters(GLctx, [GLctx.TEXTURE0])
// Effectuer le traitement GPU approprié ici
...
XR8.GlTextureRenderer.setGLctxParameters(GLctx, restoreParams)

// Ces champs seront fournis à onProcessCpu et onUpdate
return {gpuDataA, gpuDataB}
},
})