import { DiffuseBasicMethod, _Shader_DiffuseBasicMethod } from './DiffuseBasicMethod'; /** * DiffuseWrapMethod is an alternative to DiffuseBasicMethod in which the light is allowed to be "wrapped around" the normally dark area, to some extent. * It can be used as a crude approximation to Oren-Nayar or simple subsurface scattering. */ export declare class DiffuseWrapMethod extends DiffuseBasicMethod { private _wrapFactor; static assetType: string; /** * @inheritDoc */ get assetType(): string; /** * A factor to indicate the amount by which the light is allowed to wrap. */ get wrapFactor(): number; set wrapFactor(value: number); /** * Creates a new DiffuseWrapMethod object. * @param wrapFactor A factor to indicate the amount by which the light is allowed to wrap */ constructor(wrapFactor?: number); } import { ShaderRegisterCache, ShaderRegisterData, ShaderRegisterElement } from '@awayjs/stage'; import { LightingShader } from '../shaders/LightingShader'; /** * _Shader_DiffuseWrapMethod is an alternative to _Shader_DiffuseBasicMethod in which the light is allowed to be "wrapped around" the normally dark area, to some extent. * It can be used as a crude approximation to Oren-Nayar or simple subsurface scattering. */ export declare class _Shader_DiffuseWrapMethod extends _Shader_DiffuseBasicMethod { private _wrapDataIndex; private _wrapDataRegister; /** * Creates a new _Shader_DiffuseWrapMethod object. */ init(method: DiffuseWrapMethod, shader: LightingShader): void; /** * @inheritDoc */ _cleanCompilationData(): void; /** * @inheritDoc */ _getFragmentPreLightingCode(registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; /** * @inheritDoc */ _getFragmentCodePerLight(lightDirReg: ShaderRegisterElement, lightColReg: ShaderRegisterElement, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; /** * @inheritDoc */ _activate(): void; } //# sourceMappingURL=DiffuseWrapMethod.d.ts.map