All files / engine/Source/Scene Tonemapper.js

100% Statements 2/2
100% Branches 5/5
100% Functions 1/1
100% Lines 2/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65          1x                                                                                                 684x                    
/**
 * A tonemapping algorithm when rendering with high dynamic range.
 *
 * @enum {string}
 */
const Tonemapper = {
  /**
   * Use the Reinhard tonemapping.
   *
   * @type {string}
   * @constant
   */
  REINHARD: "REINHARD",
 
  /**
   * Use the modified Reinhard tonemapping.
   *
   * @type {string}
   * @constant
   */
  MODIFIED_REINHARD: "MODIFIED_REINHARD",
 
  /**
   * Use the Filmic tonemapping.
   *
   * @type {string}
   * @constant
   */
  FILMIC: "FILMIC",
 
  /**
   * Use the ACES tonemapping.
   *
   * @type {string}
   * @constant
   */
  ACES: "ACES",
 
  /**
   * Use the PBR Neutral tonemapping {@link https://github.com/KhronosGroup/ToneMapping/tree/main/PBR_Neutral|from Khronos}.
   *
   * @type {string}
   * @constant
   */
  PBR_NEUTRAL: "PBR_NEUTRAL",
};
 
/**
 * Validate whether the provided value is a known Tonemapper type
 * @private
 *
 * @param {string} tonemapper
 */
export function validateTonemapper(tonemapper) {
  return (
    tonemapper === Tonemapper.REINHARD ||
    tonemapper === Tonemapper.MODIFIED_REINHARD ||
    tonemapper === Tonemapper.FILMIC ||
    tonemapper === Tonemapper.ACES ||
    tonemapper === Tonemapper.PBR_NEUTRAL
  );
}
 
export default Object.freeze(Tonemapper);