Spaces:
Running
Running
File size: 2,195 Bytes
2b7aae2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | import { IUniform } from '../renderers/shaders/UniformsLib';
import { MaterialParameters, Material } from './Material';
import { GLSLVersion } from '../constants';
export interface ShaderMaterialParameters extends MaterialParameters {
uniforms?: { [uniform: string]: IUniform } | undefined;
vertexShader?: string | undefined;
fragmentShader?: string | undefined;
linewidth?: number | undefined;
wireframe?: boolean | undefined;
wireframeLinewidth?: number | undefined;
lights?: boolean | undefined;
clipping?: boolean | undefined;
extensions?:
| {
derivatives?: boolean | undefined;
fragDepth?: boolean | undefined;
drawBuffers?: boolean | undefined;
shaderTextureLOD?: boolean | undefined;
}
| undefined;
glslVersion?: GLSLVersion | undefined;
}
export class ShaderMaterial extends Material {
constructor(parameters?: ShaderMaterialParameters);
/**
* @default 'ShaderMaterial'
*/
type: string;
/**
* @default {}
*/
defines: { [key: string]: any };
/**
* @default {}
*/
uniforms: { [uniform: string]: IUniform };
vertexShader: string;
fragmentShader: string;
/**
* @default 1
*/
linewidth: number;
/**
* @default false
*/
wireframe: boolean;
/**
* @default 1
*/
wireframeLinewidth: number;
/**
* @default false
*/
fog: boolean;
/**
* @default false
*/
lights: boolean;
/**
* @default false
*/
clipping: boolean;
/**
* @deprecated Use {@link ShaderMaterial#extensions.derivatives extensions.derivatives} instead.
*/
derivatives: any;
/**
* @default { derivatives: false, fragDepth: false, drawBuffers: false, shaderTextureLOD: false }
*/
extensions: {
derivatives: boolean;
fragDepth: boolean;
drawBuffers: boolean;
shaderTextureLOD: boolean;
};
/**
* @default { 'color': [ 1, 1, 1 ], 'uv': [ 0, 0 ], 'uv2': [ 0, 0 ] }
*/
defaultAttributeValues: any;
/**
* @default undefined
*/
index0AttributeName: string | undefined;
/**
* @default false
*/
uniformsNeedUpdate: boolean;
/**
* @default null
*/
glslVersion: GLSLVersion | null;
isShaderMaterial: boolean;
setValues(parameters: ShaderMaterialParameters): void;
toJSON(meta: any): any;
}
|