Saltar al contenido principal

XR8.GlTextureRenderer.pipelineModule()

XR8.GlTextureRenderer.pipelineModule({ vertexSource, fragmentSource, toTexture, flipY })

Descripción

Crea un módulo de canalización que dibuja la imagen de la cámara en el lienzo.

Parámetros

ParámetroTipoPor defectoDescripción
vertexSource [Opcional]CadenaUn sombreador de vértices no operativoLa fuente del sombreador de vértices que se utilizará para el renderizado.
fragmentSource [Opcional]CadenaUn sombreador de fragmentos no-opLa fuente del sombreador de fragmentos que se utilizará para el renderizado.
toTexture [Opcional]WebGlTextureEl lienzoUna textura para dibujar. Si no se proporciona ninguna textura, el dibujo se hará en el lienzo.
flipY [Opcional]BooleanofalseSi es verdadero, da la vuelta a la representación.

Vuelta

El valor de retorno es un objeto {viewport, shader} puesto a disposición de onProcessCpu y onUpdate como:

processGpuResult.gltexturerenderer con las siguientes propiedades:

PropiedadTipoDescripción
viewport{width, height, offsetX, offsetY}La región del lienzo o textura de salida sobre la que dibujar; puede construirse manualmente o utilizando XR8.GlTextureRenderer.fillTextureViewport().
shaderUn manejador del sombreador que se utiliza para dibujar la textura.

processGpuResult.gltexturerenderer.viewport: { width, height, offsetX, offsetY }

PropiedadTipoDescripción
widthNúmeroLa anchura (en píxeles) a dibujar.
heightNúmeroLa altura (en píxeles) a dibujar.
offsetXNúmeroLa coordenada x mínima (en píxeles) en la que dibujar.
offsetYNúmeroLa coordenada y mínima (en píxeles) a la que dibujar.

Ejemplo

XR8.addCameraPipelineModule(XR8.GlTextureRenderer.pipelineModule())
XR8.addCameraPipelineModule({
name: 'mycamerapipelinemodule',
onProcessCpu: ({ processGpuResult }) => {
const {viewport, shader} = processGpuResult.gltexturerenderer
if (!viewport) {
return
}
const { width, height, offsetX, offsetY } = viewport

// ...
},