@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
29 lines (19 loc) • 1.11 kB
JavaScript
import { Mesh, MeshPhongMaterial } from "three";
import AABB2 from "../../../../../src/core/geom/2d/aabb/AABB2.js";
import { Sampler2D } from "../../../../../src/engine/graphics/texture/sampler/Sampler2D.js";
import sampler2D2Canvas from "../../../../../src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
import { renderObjectToSampler2D } from "../../../../../src/engine/graphics/util/renderObjectToSampler2D.js";
import { CanvasView } from "../../../../../src/view/elements/CanvasView.js";
import { TypeEditor } from "../../TypeEditor.js";
export class BufferGeometryEditor extends TypeEditor {
build(parent, field, registry) {
const geo = field.adapter.read(parent, field.name);
const sampler = Sampler2D.uint8(4, 64, 64);
const preview = renderObjectToSampler2D(sampler, new Mesh(geo, new MeshPhongMaterial()), undefined, new AABB2(-0.05, -0.05, 1.05, 1.05));
preview.render();
const view = new CanvasView();
sampler2D2Canvas(sampler, 1, 0, view.el);
preview.dispose();
return view;
}
}