/** * @file Wide Line Buffer * @author Alexander Rose * @private */ import { Vector3, Matrix4 } from 'three'; import '../shader/WideLine.vert'; import '../shader/WideLine.frag'; import MappedQuadBuffer from './mappedquad-buffer'; import { BufferData } from './buffer'; export interface WideLineBufferData extends BufferData { position1: Float32Array; position2: Float32Array; color2: Float32Array; } export declare const WideLineBufferDefaultParameters: { linewidth: number; } & { opaqueBack: boolean; side: import("./buffer").BufferSide; opacity: number; depthWrite: boolean; clipNear: number; clipRadius: number; clipCenter: Vector3; flatShaded: boolean; wireframe: boolean; roughness: number; metalness: number; diffuse: number; diffuseInterior: boolean; useInteriorColor: boolean; interiorColor: number; interiorDarkening: number; forceTransparent: boolean; matrix: Matrix4; disablePicking: boolean; sortParticles: boolean; background: boolean; }; export declare type WideLineBufferParameters = typeof WideLineBufferDefaultParameters; /** * Wide Line buffer. Draws lines with a fixed width in pixels. * * @example * var lineBuffer = new WideLineBuffer({ * position1: new Float32Array([ 0, 0, 0 ]), * position2: new Float32Array([ 1, 1, 1 ]), * color: new Float32Array([ 1, 0, 0 ]), * color2: new Float32Array([ 0, 1, 0 ]) * }); */ declare class WideLineBuffer extends MappedQuadBuffer { parameterTypes: { linewidth: { uniform: boolean; }; } & { opaqueBack: { updateShader: boolean; }; side: { updateShader: boolean; property: boolean; }; opacity: { uniform: boolean; }; depthWrite: { property: boolean; }; clipNear: { updateShader: boolean; property: boolean; }; clipRadius: { updateShader: boolean; uniform: boolean; }; clipCenter: { uniform: boolean; }; flatShaded: { updateShader: boolean; }; background: { updateShader: boolean; }; wireframe: { updateVisibility: boolean; }; roughness: { uniform: boolean; }; metalness: { uniform: boolean; }; diffuse: { uniform: boolean; }; diffuseInterior: { updateShader: boolean; }; useInteriorColor: { updateShader: boolean; }; interiorColor: { uniform: boolean; }; interiorDarkening: { uniform: boolean; }; matrix: {}; }; get defaultParameters(): { linewidth: number; } & { opaqueBack: boolean; side: import("./buffer").BufferSide; opacity: number; depthWrite: boolean; clipNear: number; clipRadius: number; clipCenter: Vector3; flatShaded: boolean; wireframe: boolean; roughness: number; metalness: number; diffuse: number; diffuseInterior: boolean; useInteriorColor: boolean; interiorColor: number; interiorDarkening: number; forceTransparent: boolean; matrix: Matrix4; disablePicking: boolean; sortParticles: boolean; background: boolean; }; parameters: WideLineBufferParameters; vertexShader: string; fragmentShader: string; constructor(data: Partial, params?: Partial); setParameters(params: Partial): void; } export default WideLineBuffer;