@react-three/lightmap
Version:
In-browser lightmap/AO baker for react-three-fiber and ThreeJS
27 lines (26 loc) • 941 B
TypeScript
import * as THREE from 'three';
import { ProbeTexel } from './lightProbe';
export interface AtlasMapItem {
faceCount: number;
originalMesh: THREE.Mesh;
originalBuffer: THREE.BufferGeometry;
}
export interface AtlasMap {
width: number;
height: number;
items: AtlasMapItem[];
data: Float32Array;
texture: THREE.Texture;
}
export declare function scanAtlasTexels(atlasMap: AtlasMap, onFinished: () => void): Generator<ProbeTexel | null, void, unknown>;
export declare function renderAtlas(gl: THREE.WebGLRenderer, width: number, height: number, sceneItems: Generator<THREE.Object3D, void, unknown>): {
width: number;
height: number;
texture: THREE.DataTexture;
data: Float32Array;
items: {
faceCount: number;
originalMesh: THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>;
originalBuffer: THREE.BufferGeometry;
}[];
};