@needle-tools/engine
Version:
Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.
38 lines (37 loc) • 1.43 kB
TypeScript
import { Color } from "three";
import { type GLTF, type GLTFLoaderPlugin, GLTFParser } from "three/examples/jsm/loaders/GLTFLoader.js";
import { Behaviour } from "../../engine-components/Component.js";
import { AmbientMode, DefaultReflectionMode } from "../engine_scenelighting.js";
import { Context } from "../engine_setup.js";
import { type SourceIdentifier } from "../engine_types.js";
export declare const EXTENSION_NAME = "NEEDLE_lighting_settings";
export type LightingSettings = {
ambientMode: AmbientMode;
ambientIntensity: number;
ambientLight: number[];
ambientTrilight: Array<number[]>;
environmentReflectionSource: DefaultReflectionMode;
};
export declare class NEEDLE_lighting_settings implements GLTFLoaderPlugin {
get name(): string;
private parser;
private sourceId;
private context;
constructor(parser: GLTFParser, sourceId: SourceIdentifier, context: Context);
afterRoot(_result: GLTF): Promise<void> | null;
}
export declare class SceneLightSettings extends Behaviour {
ambientMode: AmbientMode;
ambientLight?: Color;
ambientTrilight?: Color[];
ambientIntensity: number;
environmentReflectionSource: DefaultReflectionMode;
private _hasReflection;
private _ambientLightObj?;
private _hemisphereLightObj?;
awake(): void;
onDestroy(): void;
private calculateIntensityFactor;
onEnable(): void;
onDisable(): void;
}