onProcessGpu()
onProcessGpu: ({ framework, frameStartResult })
Descripción
Se llama a onProcessGpu()
para iniciar el procesamiento en la GPU.
Parámetros
Parámetro | Descripció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:
Propiedad | Descripción |
---|---|
cameraTexture | La WebGLTexture del lienzo que contiene los datos de la cámara. |
computeTexture | La WebGLTexture del lienzo de cálculo que contiene los datos de la cámara. |
GLctx | El WebGLRenderingContext o WebGL2RenderingContext del lienzo. |
computeCtx | El WebGLRenderingContext o WebGL2RenderingContext del lienzo de cálculo. |
textureWidth | La anchura (en píxeles) de la textura de alimentación de la cámara. |
textureHeight | La altura (en píxeles) de la textura de alimentación de la cámara. |
orientación | La rotación de la interfaz de usuario con respecto a la vertical, en grados (-90, 0, 90, 180). |
videoTiempo | La marca de tiempo de este fotograma de vídeo. |
repetirCuadro | True 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}
},
})