XR8.GlTextureRenderer.pipelineModule()
XR8.GlTextureRenderer.pipelineModule({ vertexSource, fragmentSource, toTexture, flipY })
概要
カメラフィードをキャンバスに描画するパイプラインモジュールを作成します。
パラメータ
パラメータ | タイプ | デフォルト | 説明 |
---|---|---|---|
vertexSource [Optional] | String | A no-op vertex shader | レンダリングに使用するバーテックスシェーダーソースです。 |
fragmentSource [Optional] | String | A no-op fragment shader | レンダリングに使用するフラグメントシェーダーソースです。 |
toTexture [Optional] | WebGlTexture | キャンバス | 描画するテクスチャです。 テクスチャを指定しない場合は、キャンバスへの描画となります。 |
flipY [Optional] | Boolean | false | trueの場合、レンダリングを上下反転させます。 |
戻り値
戻り値は、 {viewport, shader}
という形式のオブジェクトです。このオブジェクトは、onProcessCpu
およびonUpdate
を利用可能です。
processGpuResult.gltexturerenderer
は以下のプロパティを持っています。
プロパティ | タイプ | 説明 |
---|---|---|
viewport | {width, height, offsetX, offsetY} | 描画するキャンバスまたは出力テクスチャの領域です。これは手動で構築するか、XR8.GlTextureRenderer.fillTextureViewport() を使用して構築することができます。 |
shader | テクスチャの描画に使用されるシェーダーハンドルです。 |
processGpuResult.gltexturerenderer.viewportは以下の形式のオブジェクトです。 { width, height, offsetX, offsetY }
プロパティ | タイプ | 説明 |
---|---|---|
width | Number | 描画する幅(ピクセ ル)です。 |
height | Number | 描画する高さ(ピクセル単位)です。 |
offsetX | Number | 描画するX座標の最小値(ピクセル単位)です。 |
offsetY | Number | 描画する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
// ...
},