UNPKG

@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
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; }