Skip to main content

XR8.GlTextureRenderer.pipelineModule()

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

Description

Crée un module de pipeline qui dessine le flux de la caméra sur le canevas.

Paramètres

ParamètresTypeDéfautDescription
vertexSource [Facultatif]ChaîneUn nuanceur de vertex sans optionSource du nuanceur de vertex à utiliser pour le rendu.
fragmentSource [Facultatif]ChaîneUn nuanceur de fragment sans optionSource du nuanceur de fragment à utiliser pour le rendu.
toTexture [Facultatif]WebGlTextureLa toileUne texture à dessiner. Si aucune texture n'est fournie, le dessin se fera sur le canevas.
flipY [Facultatif]BooléenfalseSi c'est le cas, le rendu est inversé.

Retourne

La valeur de retour est un objet {viewport, shader} mis à la disposition de onProcessCpu et onUpdate en tant que :

processGpuResult.gltexturerenderer avec les propriétés suivantes :

PropriétéTypeDescription
fenêtre{largeur, hauteur, décalageX, décalageY}La région du canevas ou de la texture de sortie dans laquelle dessiner ; elle peut être construite manuellement ou en utilisant XR8.GlTextureRenderer.fillTextureViewport().
nuanceurUne poignée vers le shader utilisé pour dessiner la texture.

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

PropriétéTypeDescription
largeurNombreLa largeur (en pixels) à dessiner.
hauteurNombreLa hauteur (en pixels) à dessiner.
offsetXNombreLa coordonnée x minimale (en pixels) à laquelle dessiner.
offsetYNombreLa coordonnée y minimale (en pixels) à laquelle dessiner.

Exemple

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

// ...
},