Saltar al contenido principal

onProcessGpu()

onProcessGpu: ({ framework, frameStartResult })

Descripción

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

Parámetros

ParámetroDescripción
framework{ dispatchEvent(eventName, detail) }: Emite un evento con nombre con el detalle proporcionado.
frameStartResult{ cameraTexture, computeTexture, GLctx, computeCtx, textureWidth, textureHeight, orientation, videoTime, repeatFrame }

El parámetro frameStartResult tiene las siguientes propiedades:

PropiedadDescripción
cameraTextureEl lienzo de dibujo WebGLTexture que contiene los datos de alimentación de la cámara.
computeTextureEl lienzo de cálculo WebGLTexture que contiene los datos de alimentación de la cámara.
GLctxEl lienzo de dibujo WebGLRenderingContext o WebGL2RenderingContext.
computeCtxEl lienzo de cálculo WebGLRenderingContext o WebGL2RenderingContext.
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.
orientationLa rotación de la IU respecto a la vertical, en grados (-90, 0, 90, 180).
videoTimeLa marca de tiempo de este fotograma de vídeo.
repeatFrameVerdadero si la alimentación de la cámara no se ha actualizado desde la última llamada.

Devuelve

Cualquier dato que desees proporcionar a onProcessCpu y onUpdate debe ser devuelto . 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}
},
})