@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
27 lines (26 loc) • 803 B
JavaScript
;
import { BufferGeometry } from "three";
import { Mesh } from "three";
import { OrthographicCamera } from "three";
import { Float32BufferAttribute } from "three";
const _camera = new OrthographicCamera(-1, 1, 1, -1, 0, 1);
const _geometry = new BufferGeometry();
_geometry.setAttribute("position", new Float32BufferAttribute([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3));
_geometry.setAttribute("uv", new Float32BufferAttribute([0, 2, 0, 0, 2, 0], 2));
export class FullScreenQuad {
constructor(material) {
this._mesh = new Mesh(_geometry, material);
}
dispose() {
this._mesh.geometry.dispose();
}
render(renderer) {
renderer.render(this._mesh, _camera);
}
get material() {
return this._mesh.material;
}
set material(value) {
this._mesh.material = value;
}
}