Ir al contenido principal

onProcessGpu()

onProcessGpu: ({ framework, frameStartResult })

Descripción

Se llama a onProcessGpu() para iniciar el procesamiento en la GPU.

Parámetros

ParámetroDescripción
marco{ dispatchEvent(eventName, detail) } : Emite un evento con el nombre y los detalles proporcionados.
frameStartResult{ cameraTexture, computeTexture, GLctx, computeCtx, textureWidth, textureHeight, orientation, videoTime, repeatFrame }

El parámetro frameStartResult tiene las siguientes propiedades:

PropiedadDescripción
cameraTextureLa WebGLTexture del lienzo que contiene los datos de la cámara.
computeTextureLa WebGLTexture del lienzo de cálculo que contiene los datos de la cámara.
GLctxEl WebGLRenderingContext o WebGL2RenderingContext del lienzo.
computeCtxEl WebGLRenderingContext o WebGL2RenderingContext del lienzo de cálculo.
textureWidthLa anchura (en píxeles) de la textura de alimentación de la cámara.
textureHeightLa altura (en píxeles) de la textura de alimentación de la cámara.
orientaciónLa rotación de la interfaz de usuario con respecto a la vertical, en grados (-90, 0, 90, 180).
videoTiempoLa marca de tiempo de este fotograma de vídeo.
repetirCuadroTrue si la alimentación de la cámara no se ha actualizado desde la última llamada.

Devuelve

Cualquier dato que desee proporcionar a onProcessCpu y onUpdate debe ser devuelto a . Se proporcionará a esos métodos como processGpuResult.modulename.

Ejemplo

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])
// Realiza aquí el procesamiento GPU pertinente
...
XR8.GlTextureRenderer.setGLctxParameters(GLctx, restoreParams)

// Estos campos se proporcionarán a onProcessCpu y onUpdate
return {gpuDataA, gpuDataB}
},
})