@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.
39 lines (38 loc) • 1.64 kB
TypeScript
import { Camera, Material, RawShaderMaterial } from 'three';
import { type GLTFLoaderPlugin, GLTFParser } from "three/examples/jsm/loaders/GLTFLoader.js";
import { type SourceIdentifier } from "../engine_types.js";
export declare const NEEDLE_TECHNIQUES_WEBGL_NAME = "NEEDLE_techniques_webgl";
export declare class CustomShader extends RawShaderMaterial {
private identifier;
private onBeforeRenderSceneCallback;
clone(): this;
constructor(identifier: SourceIdentifier, ...args: any[]);
dispose(): void;
private _sphericalHarmonicsName;
private _objToWorldName;
private _worldToObjectName;
private static viewProjection;
private static _viewProjectionValues;
private _viewProjectionName;
private static viewMatrix;
private static _viewMatrixValues;
private _viewMatrixName;
private static _worldSpaceCameraPosName;
private static _worldSpaceCameraPos;
private static _mainLightColor;
private static _mainLightPosition;
private static _lightData;
private _rendererData;
private get depthTextureUniform();
private get opaqueTextureUniform();
private onBeforeRenderScene;
onBeforeRender(_renderer: any, _scene: any, camera: any, _geometry: any, obj: any, _group: any): void;
onUpdateUniforms(camera?: Camera, obj?: any): void;
}
export declare class NEEDLE_techniques_webgl implements GLTFLoaderPlugin {
get name(): string;
private parser;
private identifier;
constructor(loader: GLTFParser, identifier: SourceIdentifier);
loadMaterial(index: number): Promise<Material> | null;
}