Tonemapper.js 891 B

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