Zum Hauptinhalt springen

XR8.GlTextureRenderer.pipelineModule()

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

Beschreibung​

Erzeugt ein Pipeline-Modul, das den Kamerafeed auf die Leinwand zeichnet.

Parameter​

ParameterTypStandardBeschreibung
vertexSource [Optional]StringEin No-Op-Vertex-ShaderDie Vertex-Shader-Quelle, die für das Rendering verwendet wird.
fragmentSource [Optional]StringEin No-Op-Fragment-ShaderDie Fragment-Shader-Quelle, die für das Rendering verwendet wird.
toTexture [Optional]WebGlTexturDie LeinwandEine Textur zum Zeichnen. Wenn keine Textur angegeben wird, wird auf die Leinwand gezeichnet.
flipY [Optional]BooleschefalseWenn ja, wird die Darstellung auf den Kopf gestellt.

Returns​

Rückgabewert ist ein Objekt {viewport, shader} , das onProcessCpu und onUpdate als zur Verfügung gestellt wird:

processGpuResult.gltexturerenderer mit den folgenden Eigenschaften:

EigentumTypBeschreibung
viewport{width, height, offsetX, offsetY}Der Bereich der Leinwand oder der Ausgabetextur, in den gezeichnet werden soll; dieser kann manuell oder mit XR8.GlTextureRenderer.fillTextureViewport() erstellt werden.
shaderEin Handle auf den Shader, der zum Zeichnen der Textur verwendet wird.

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

EigentumTypBeschreibung
widthNummerDie Breite (in Pixel), die gezeichnet werden soll.
heightNummerDie Höhe (in Pixel), die gezeichnet werden soll.
offsetXNummerDie minimale x-Koordinate (in Pixel), bis zu der gezeichnet werden soll.
offsetYNummerDie minimale y-Koordinate (in Pixel), bis zu der gezeichnet werden soll.

Beispiel​

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

// ...
},