@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
86 lines (85 loc) • 5.41 kB
TypeScript
/**
* Creates a LineBasic Material, which can be extended with GL nodes.
*
* @remarks
* This node can create children, which will be GL nodes. The GLSL code generated by the nodes will extend the Material.
*
*/
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { UniformsTransparencyControllers } from './utils/UniformsTransparencyController';
import { AdvancedCommonControllers } from './utils/AdvancedCommonController';
import { ShaderAssemblerLine } from '../gl/code/assemblers/materials/Line';
import { TypedBuilderMatNode } from './_BaseBuilder';
import { AssemblerName } from '../../poly/registers/assemblers/_BaseRegister';
import { LineBasicMaterial } from 'three';
import { CustomMaterialName } from '../../../core/geometry/Material';
import { Material } from 'three';
import { GlAssemblerController } from '../gl/code/Controller';
import { MatType } from '../../poly/registers/nodes/types/Mat';
interface LineBasicBuilderControllers extends AdvancedCommonControllers, UniformsTransparencyControllers {
}
interface LineBasicBuilderMaterial extends LineBasicMaterial {
vertexShader: string;
fragmentShader: string;
customMaterials: {
[key in CustomMaterialName]?: Material;
};
}
declare const LineBasicBuilderMatParamsConfig_base: {
new (...args: any[]): {
overrideCustomMaterials: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
createCustomMatDistance: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
createCustomMatDepth: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
createCustomMatDepthDOF: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
};
} & {
new (...args: any[]): {
doubleSided: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
front: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
overrideShadowSide: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
shadowDoubleSided: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
shadowFront: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
colorWrite: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
depthWrite: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
depthTest: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
premultipliedAlpha: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
blending: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
dithering: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
polygonOffset: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
polygonOffsetFactor: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
polygonOffsetUnits: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
};
} & {
new (...args: any[]): {
setBuilderNode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
builderNode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
};
} & {
new (...args: any[]): {
advanced: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>;
};
} & {
new (...args: any[]): {
transparent: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
opacity: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
alphaTest: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
};
} & {
new (...args: any[]): {
default: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>;
};
} & typeof NodeParamsConfig;
declare class LineBasicBuilderMatParamsConfig extends LineBasicBuilderMatParamsConfig_base {
linewidth: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
}
export declare class LineBasicBuilderMatNode extends TypedBuilderMatNode<LineBasicBuilderMaterial, ShaderAssemblerLine, LineBasicBuilderMatParamsConfig> {
paramsConfig: LineBasicBuilderMatParamsConfig;
static type(): MatType;
usedAssembler(): Readonly<AssemblerName.GL_LINE>;
protected _createAssemblerController(): GlAssemblerController<ShaderAssemblerLine> | undefined;
customMaterialRequested(customName: CustomMaterialName): boolean;
readonly controllers: LineBasicBuilderControllers;
protected controllersList: any[];
cook(): Promise<void>;
}
export {};