Tonemapper.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import freezeObject from '../Core/freezeObject.js';
  2. /**
  3. * A tonemapping algorithm when rendering with high dynamic range.
  4. *
  5. * @exports Tonemapper
  6. * @private
  7. */
  8. var Tonemapper = {
  9. /**
  10. * Use the Reinhard tonemapping operator.
  11. *
  12. * @type {Number}
  13. * @constant
  14. */
  15. REINHARD : 0,
  16. /**
  17. * Use the modified Reinhard tonemapping operator.
  18. *
  19. * @type {Number}
  20. * @constant
  21. */
  22. MODIFIED_REINHARD : 1,
  23. /**
  24. * Use the Filmic tonemapping operator.
  25. *
  26. * @type {Number}
  27. * @constant
  28. */
  29. FILMIC : 2,
  30. /**
  31. * Use the ACES tonemapping operator.
  32. *
  33. * @type {Number}
  34. * @constant
  35. */
  36. ACES : 3,
  37. /**
  38. * @private
  39. */
  40. validate : function(tonemapper) {
  41. return tonemapper === Tonemapper.REINHARD ||
  42. tonemapper === Tonemapper.MODIFIED_REINHARD ||
  43. tonemapper === Tonemapper.FILMIC ||
  44. tonemapper === Tonemapper.ACES;
  45. }
  46. };
  47. export default freezeObject(Tonemapper);