import { TextureBase } from '@awayjs/renderer'; import { MethodBase, _Shader_MethodBase } from './MethodBase'; /** * SpecularBasicMethod provides the default shading method for Blinn-Phong * specular highlights (an optimized but approximated version of Phong * specularity). */ export declare class SpecularBasicMethod extends MethodBase { private _texture; private _gloss; private _strength; private _color; static assetType: string; /** * @inheritDoc */ get assetType(): string; /** * The glossiness of the material (sharpness of the specular highlight). */ get gloss(): number; set gloss(value: number); /** * The overall strength of the specular highlights. */ get strength(): number; set strength(value: number); /** * The colour of the specular reflection of the surface. */ get color(): number; set color(value: number); /** * A texture that defines the strength of specular reflections for each * texel in the red channel, and the gloss factor (sharpness) in the green * channel. You can use Specular2DTexture if you want to easily set specular * and gloss maps from grayscale images, but correctly authored images are * preferred. */ get texture(): TextureBase; set texture(value: TextureBase); /** * Creates a new SpecularBasicMethod object. */ constructor(); /** * @inheritDoc */ dispose(): void; /** * @inheritDoc */ copyFrom(method: MethodBase): void; } import { ShaderRegisterCache, ShaderRegisterData, ShaderRegisterElement } from '@awayjs/stage'; import { _Render_RenderableBase, _Shader_TextureBase, ChunkVO } from '@awayjs/renderer'; import { LightingShader } from '../shaders/LightingShader'; import { _IShader_LightingMethod } from './_IShader_LightingMethod'; /** * _Shader_SpecularBasicMethod provides the default shading method for * Blinn-Phong specular highlights (an optimized but approximated version of * Phong specularity). */ export declare class _Shader_SpecularBasicMethod extends _Shader_MethodBase implements _IShader_LightingMethod { _totalLightColorReg: ShaderRegisterElement; _specularTexData: ShaderRegisterElement; _specularDataRegister: ShaderRegisterElement; _specularDataIndex: number; protected _method: SpecularBasicMethod; protected _shader: LightingShader; protected _texture: _Shader_TextureBase; _pIsFirstLight: boolean; _modulateFunction: (targetReg: ShaderRegisterElement, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData) => string; /** * Creates a new EffectEnvMapChunk. */ init(method: SpecularBasicMethod, shader: LightingShader): void; _isUsed(): boolean; /** * @inheritDoc */ _initVO(chunkVO: ChunkVO): void; /** * @inheritDoc */ _initConstants(): void; /** * @inheritDoc */ _cleanCompilationData(): void; /** * @inheritDoc */ _getFragmentPreLightingCode(registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; /** * @inheritDoc */ _getFragmentCodePerLight(lightDirReg: ShaderRegisterElement, lightColReg: ShaderRegisterElement, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; /** * @inheritDoc */ _getFragmentCodePerProbe(cubeMapReg: ShaderRegisterElement, weightRegister: string, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; /** * @inheritDoc */ _getFragmentCode(targetReg: ShaderRegisterElement, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; /** * @inheritDoc */ _activate(): void; _setRenderState(renderState: _Render_RenderableBase): void; } //# sourceMappingURL=SpecularBasicMethod.d.ts.map