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.

54 lines (53 loc) 2.04 kB
import { Color, DataTexture, Matrix4, Vector4 } from "three"; import { RGBAColor } from "./js-extensions/index.js"; import * as SHADERDATA from "./shaders/shaderData.js"; export declare const whiteDefaultTexture: DataTexture; /** * Creates a new texture with a single color * @param col Color to use * @param size Size of the texture * @returns A texture with the specified color */ export declare function createFlatTexture(col: RGBAColor | Color, size?: number): DataTexture; /** * Creates a new texture with three colors * @param col0 First color * @param col1 Second color * @param col2 Third color * @param width Width of the texture * @param height Height of the texture * @returns A texture with the specified colors */ export declare function createTrilightTexture<T extends Color>(col0: T, col1: T, col2: T, width?: number, height?: number): DataTexture; /** @internal */ export declare enum Stage { Vertex = 0, Fragment = 1 } /** @internal */ export declare class UnityShaderStage { stage: Stage; code: string; constructor(stage: Stage, code: string); } declare class ShaderLib { loaded: Map<string, UnityShaderStage>; loadShader(url: string): Promise<SHADERDATA.ShaderData>; load(stage: Stage, url: string): Promise<UnityShaderStage>; } /** @internal */ export declare const lib: ShaderLib; /** @internal */ export declare function ToUnityMatrixArray(mat: Matrix4, buffer?: Array<Vector4>): Array<Vector4>; /** @internal */ export declare function SetUnitySphericalHarmonics(obj: object, array?: number[]): void; /** @internal */ export declare class ShaderBundle { readonly vertexShader: string; readonly fragmentShader: string; readonly technique: SHADERDATA.Technique; constructor(vertexShader: string, fragmentShader: string, technique: SHADERDATA.Technique); } /** @internal */ export declare function FindShaderTechniques(shaderData: SHADERDATA.ShaderData, id: number): Promise<ShaderBundle | null>; export {};