lightConfiguration.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. export interface ILightConfiguration {
  2. type: number;
  3. name?: string;
  4. disabled?: boolean;
  5. position?: { x: number, y: number, z: number };
  6. target?: { x: number, y: number, z: number };
  7. direction?: { x: number, y: number, z: number };
  8. diffuse?: { r: number, g: number, b: number };
  9. specular?: { r: number, g: number, b: number };
  10. intensity?: number;
  11. intensityMode?: number;
  12. radius?: number;
  13. shadownEnabled?: boolean; // only on specific lights!
  14. shadowConfig?: {
  15. useBlurExponentialShadowMap?: boolean;
  16. useBlurCloseExponentialShadowMap?: boolean;
  17. useKernelBlur?: boolean;
  18. blurKernel?: number;
  19. blurScale?: number;
  20. minZ?: number;
  21. maxZ?: number;
  22. frustumSize?: number;
  23. angleScale?: number;
  24. frustumEdgeFalloff?: number;
  25. [propName: string]: any;
  26. };
  27. spotAngle?: number;
  28. shadowFieldOfView?: number;
  29. shadowBufferSize?: number;
  30. shadowFrustumSize?: number;
  31. shadowMinZ?: number;
  32. shadowMaxZ?: number;
  33. [propName: string]: any;
  34. // no behaviors for light at the moment, but allowing configuration for future reference.
  35. behaviors?: {
  36. [name: string]: number | {
  37. type: number;
  38. [propName: string]: any;
  39. };
  40. };
  41. }