XGPU
RenderToTexture_Sample.ts
import { GPURenderer, RenderPipeline } from "xgpu";
import { Sample } from "../HelloTriangle/Sample";
import { TexturedCube } from "../TexturedCube/TexturedCube";
import { RibbonMouseToy } from "../RibbonMouseToy/RibbonMouseToy_Sample";
export class RenderToTexture_Sample extends Sample {
protected async start(renderer: GPURenderer): Promise<void> {
const toy = new RibbonMouseToy({ clearColor: { r: 0.0, g: 0, b: 0, a: 1 } });
const pipeline = new TexturedCube(toy.renderPass, { clearColor: { r: 0.1, g: 0.1, b: 0.1, a: 1 } })
const { transform } = pipeline.resources;
transform.scaleXYZ = 150;
pipeline.addEventListener(RenderPipeline.ON_DRAW_BEGIN, () => {
transform.rotationX += 0.01;
transform.rotationY += 0.01;
transform.rotationZ += 0.01;
})
renderer.addPipeline(pipeline);
}
}