UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

36 lines (24 loc) 1.3 kB
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 { threeUpdateTransform } from "../../../../../src/engine/graphics/util/threeUpdateTransform.js"; import { CanvasView } from "../../../../../src/view/elements/CanvasView.js"; import { TypeEditor } from "../../TypeEditor.js"; export class MeshEditor extends TypeEditor { build(parent, field, registry) { const mesh = field.adapter.read(parent, field.name); const sampler = Sampler2D.uint8(4, 128, 128); const m = mesh.clone(); m.position.set(0, 0, 0); m.rotation.set(0, 0, 0); m.scale.set(1, 1, 1); threeUpdateTransform(m); const preview = renderObjectToSampler2D(sampler, m, 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; } }