mson-three/src/test-node.ts

28 lines
968 B
TypeScript

import { resolve } from 'path';
import { ModelStore, MsonEvaluate } from '.';
import { fillStoreFromFilesystem, saveGeometry, saveModel } from './util/node';
import { ThreeBuilder } from './three';
import { DoubleSide, MeshLambertMaterial } from 'three';
async function init() {
const store = new ModelStore();
const evaluate = new MsonEvaluate(store);
const mat = new MeshLambertMaterial();
// mat.side = DoubleSide;
const builder = new ThreeBuilder(mat);
await fillStoreFromFilesystem(store, resolve(process.cwd(), 'inputs'));
// mson:steve
// minelittlepony:steve_pony
const final = evaluate.evaluateModel('minelittlepony:races/steve/alicorn');
// console.log(final.texture);
const geometry = builder.buildGeometry(final);
const outputName = 'alicorn';
const outputs = resolve(process.cwd(), 'outputs');
await saveGeometry(outputs, outputName, geometry);
await saveModel(outputs, outputName, final);
}
init().catch(console.error);