babylon.effect.d.ts 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. declare module BABYLON {
  2. class EffectFallbacks {
  3. private _defines;
  4. private _currentRank;
  5. private _maxRank;
  6. public addFallback(rank: number, define: string): void;
  7. public isMoreFallbacks : boolean;
  8. public reduce(currentDefines: string): string;
  9. }
  10. class Effect {
  11. public name: any;
  12. public defines: string;
  13. public onCompiled: (effect: Effect) => void;
  14. public onError: (effect: Effect, errors: string) => void;
  15. public onBind: (effect: Effect) => void;
  16. private _engine;
  17. private _uniformsNames;
  18. private _samplers;
  19. private _isReady;
  20. private _compilationError;
  21. private _attributesNames;
  22. private _attributes;
  23. private _uniforms;
  24. public _key: string;
  25. private _program;
  26. private _valueCache;
  27. constructor(baseName: any, attributesNames: string[], uniformsNames: string[], samplers: string[], engine: any, defines?: string, fallbacks?: EffectFallbacks, onCompiled?: (effect: Effect) => void, onError?: (effect: Effect, errors: string) => void);
  28. public isReady(): boolean;
  29. public getProgram(): WebGLProgram;
  30. public getAttributesNames(): string[];
  31. public getAttributeLocation(index: number): number;
  32. public getAttributeLocationByName(name: string): number;
  33. public getAttributesCount(): number;
  34. public getUniformIndex(uniformName: string): number;
  35. public getUniform(uniformName: string): WebGLUniformLocation;
  36. public getSamplers(): string[];
  37. public getCompilationError(): string;
  38. public _loadVertexShader(vertex: any, callback: (data: any) => void): void;
  39. public _loadFragmentShader(fragment: any, callback: (data: any) => void): void;
  40. private _prepareEffect(vertexSourceCode, fragmentSourceCode, attributesNames, defines, fallbacks?);
  41. public _bindTexture(channel: string, texture: WebGLTexture): void;
  42. public setTexture(channel: string, texture: BaseTexture): void;
  43. public setTextureFromPostProcess(channel: string, postProcess: PostProcess): void;
  44. public _cacheFloat2(uniformName: string, x: number, y: number): void;
  45. public _cacheFloat3(uniformName: string, x: number, y: number, z: number): void;
  46. public _cacheFloat4(uniformName: string, x: number, y: number, z: number, w: number): void;
  47. public setArray(uniformName: string, array: number[]): Effect;
  48. public setMatrices(uniformName: string, matrices: Float32Array): Effect;
  49. public setMatrix(uniformName: string, matrix: Matrix): Effect;
  50. public setFloat(uniformName: string, value: number): Effect;
  51. public setBool(uniformName: string, bool: boolean): Effect;
  52. public setVector2(uniformName: string, vector2: Vector2): Effect;
  53. public setFloat2(uniformName: string, x: number, y: number): Effect;
  54. public setVector3(uniformName: string, vector3: Vector3): Effect;
  55. public setFloat3(uniformName: string, x: number, y: number, z: number): Effect;
  56. public setFloat4(uniformName: string, x: number, y: number, z: number, w: number): Effect;
  57. public setColor3(uniformName: string, color3: Color3): Effect;
  58. public setColor4(uniformName: string, color3: Color3, alpha: number): Effect;
  59. static ShadersStore: {};
  60. }
  61. }