Ir 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 fragment shader a 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, invierte la representación.

Devuelve

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
ventana`{ancho, alto, offsetX, offsetY}``La región del lienzo o textura de salida para dibujar; esto puede ser construido manualmente, o usando XR8.GlTextureRenderer.fillTextureViewport().
sombreadorUn manejador del sombreador que se utiliza para dibujar la textura.

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

PropiedadTipoDescripción
anchuraNúmeroEl ancho (en píxeles) a dibujar.
alturaNúmeroLa altura (en píxeles) a dibujar.
offsetXNúmeroLa coordenada x mínima (en píxeles) a dibujar.
offsetYNúmeroLa coordenada y mínima (en píxeles) a 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

// ...
},