Passer au contenu principal

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 support.

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]WebGlTextureLe supportUne texture à dessiner. Si aucune texture n'est fournie, le dessin se fera sur le support.
flipY [Facultatif]BooléenfauxSi c'est le cas, le rendu est inversé.

Retours

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{width, height, offsetX, offsetY}La région de la toile ou de la texture de sortie dans laquelle dessiner ; elle peut être construite manuellement ou à l'aide de XR8.GlTextureRenderer.fillTextureViewport().
nuanceurUne poignée vers le shader utilisé pour dessiner la texture.

processGpuResult.gltexturerer.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

// ...
},