Zum Hauptinhalt springen

XR8.GlTextureRenderer.pipelineModule()

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

Beschreibung

Erstellt ein Pipelinemodul, 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 [Fakultativ]BooleanfalseWenn ja, wird das Rendering auf den Kopf gestellt.

Rückgabe

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

processGpuResult.gltexturerenderer" mit den folgenden Eigenschaften:

EigentumTypBeschreibung
Ansichtsfenster{Breite, Höhe, 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: { Breite, Höhe, offsetX, offsetY }

EigentumTypBeschreibung
BreiteNummerDie Breite (in Pixel), die gezeichnet werden soll.
HöheNummerDie Höhe (in Pixel), die gezeichnet werden soll.
offsetXNummerDie minimale x-Koordinate (in Pixeln), 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

// ...
},