メインコンテンツへスキップ

XR8.GlTextureRenderer.pipelineModule()

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

概要

カメラフィードをキャンバスに描画するパイプラインモジュールを作成します。

パラメータ

パラメータタイプデフォルト説明
vertexSource [Optional]StringA no-op vertex shaderレンダリングに使用するバーテックスシェーダーソースです。
fragmentSource [Optional]StringA no-op fragment shaderレンダリングに使用するフラグメントシェーダーソースです。
toTexture [Optional]WebGlTextureキャンバス描画するテクスチャです。 テクスチャを指定しない場合は、キャンバスへの描画となります。
flipY [Optional]Booleanfalsetrueの場合、レンダリングを上下反転させます。

戻り値

戻り値は、 {viewport, shader}という形式のオブジェクトです。このオブジェクトは、onProcessCpuおよびonUpdateを利用可能です。

processGpuResult.gltexturerendererは以下のプロパティを持っています。

プロパティタイプ説明
viewport{width, height, offsetX, offsetY}描画するキャンバスまたは出力テクスチャの領域です。これは手動で構築するか、XR8.GlTextureRenderer.fillTextureViewport()を使用して構築することができます。
shaderテクスチャの描画に使用されるシェーダーハンドルです。

processGpuResult.gltexturerenderer.viewportは以下の形式のオブジェクトです。 { width, height, offsetX, offsetY }

プロパティタイプ説明
widthNumber描画する幅(ピクセル)です。
heightNumber描画する高さ(ピクセル単位)です。
offsetXNumber描画するX座標の最小値(ピクセル単位)です。
offsetYNumber描画するY座標の最小値(ピクセル単位)です。

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

// ...
},