@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
40 lines • 1.51 kB
TypeScript
import { TgdContext } from "../context";
import { TgdMaterial } from "../material";
import { TgdPainterMeshGltfMaterialDescription, TgdPainterNode } from "../painter";
import { TgdDataGlb } from "../parser";
import { TgdTextureCube } from "../texture";
import { TgdFormatGltfMesh, TgdFormatGltfMeshPrimitive, TgdFormatGltfNode } from "../types";
interface OverrideMaterialOptions {
data: TgdDataGlb;
mesh: TgdFormatGltfMesh;
primitive: TgdFormatGltfMeshPrimitive;
}
type MaterialOverrider = (options: OverrideMaterialOptions) => (this: void, options: TgdPainterMeshGltfMaterialDescription) => TgdMaterial;
interface MakeMeshGlbPainterOptions {
data: TgdDataGlb;
context: TgdContext;
node: number | string | TgdFormatGltfNode;
overrideMaterial?: MaterialOverrider;
/**
* If defined, we skip all primitive with a material's name in the list.
*/
excludeByMaterialName?: string[];
/**
* If defined, we skip all primitives with a material's name NOT in the list.
*/
includeOnlyMaterialNames?: string[];
skybox?: TgdTextureCube;
}
/**
* Create a `TgdPainterNode` from a node hierarchy from a GLTF structure.
* @param options
* * `data`: a GLTF parser
* * `context`: we will create painters, so we need a TgdContext
* * `node`: the root node you want to paint.
* @returns
*/
export declare function tgdMakeMeshGlbPainter(options: MakeMeshGlbPainterOptions): {
painter: TgdPainterNode;
};
export {};
//# sourceMappingURL=mesh-glb.d.ts.map