Giter VIP home page Giter VIP logo

aces-hlsl's Introduction

nullfractal

I'm a graphics programmer and game modder, currently focusing on Cyberpunk 2077.

aces-hlsl's People

Contributors

28svelasquez avatar

Watchers

 avatar

Forkers

28svelasquez

aces-hlsl's Issues

ACEScct

ACEScct

ACES Color Space Conversion - ACEScct

This transform follows the formulas from section 4.4 in S-2014-003

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACEScct.a1.0.3
    urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACEScct_to_ACES.a1.0.3

  • ACES user name
    ACES2065-1 to ACEScct
    ACEScct to ACES2065-1

Refine formatting

We need to make formatting consistent, this includes:

  1. standardizing the ACES format (allman except for if statements, space after open paren but not end paren, etc.);
  2. adding a clang-format file to make it easier to program this way for contributors;
  3. add constants to CTLlib (e.g. replace all instances of 65504. to HALF_MAX/HALF_POS_INF).

This should make everything be more consistent.

ACEScc

ACEScc

ACES Color Space Conversion - ACEScc

This transform follows the formulas from section 4.4 in S-2014-003

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACEScc.a1.0.3
    urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACEScc_to_ACES.a1.0.3

  • ACES user name
    ACES2065-1 to ACEScc
    ACEScc to ACES2065-1

P3 ODT

P3 ODT

Output Device Transforms - Rec.2020

P3D60

This transform is intended for mapping OCES onto a P3 digital cinema projector that is calibrated to a D60 white point at 48 cd/m^2. The assumed observer adapted white is D60, and the viewing environment is that of a dark theater.

P3D65

This transform is intended for mapping OCES onto a projector with P3 primaries that has been set up such that equal neutral RGB code values sent to the projector produce a chromaticity equal to that of D65 and that the peak neutral luminance is 48 nits. The assumed observer adapted white is D65, and the viewing environment is a dark surround.

A possible use case for this transform would be mastering for a theatrical release with a creative white point of D65.

D60 sim.

This transform is intended for mapping OCES onto a projector with P3 primaries that has been set up such that equal neutral RGB code values sent to the projector produce a chromaticity equal to that of D65 and that the peak neutral luminance is 48 nits. The assumed observer adapted white is D60, and the viewing environment is a dark surround.

Rec.709 limited

This transform is intended for mapping OCES onto a projector with P3 primaries that has been set up such that equal neutral RGB code values sent to the projector produce a chromaticity equal to that of D65 and that the peak neutral luminance is 48 nits. The assumed observer adapted white is D65, and the viewing environment is a dark surround.

Color values are limited to the Rec.709 gamut for applications where a match is expected between a digital cinema projected image and a Rec.709 reference monitor.

A possible use case for this transform would be mastering for a theatrical release with a creative white point of D65 and ultimate delivery in Rec.709.

P3DCI (D60)

This transform is intended for mapping OCES onto a P3 digital cinema projector that is calibrated to a DCI white point at 48 cd/m^2. The assumed observer adapted white is D60, and the viewing environment is that of a dark theater.

D65 sim.

This transform is intended for mapping OCES onto a P3 digital cinema projector that is calibrated to a DCI white point at 48 cd/m^2. The assumed observer adapted white is D65, and the viewing environment is that of a dark theater.

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D60_48nits.a1.0.3
    urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D65_48nits.a1.1.0
    urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D65_D60sim_48nits.a1.1.0
    urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D65_Rec709limited_48nits.a1.1.0
    urn:ampas:aces:transformId:v1.5:ODT.Academy.P3DCI_48nits.a1.0.3
    urn:ampas:aces:transformId:v1.5:ODT.Academy.P3DCI_D65sim_48nits.a1.1.0

  • ACES user name
    ACES 1.0 Output - P3-D60
    ACES 1.0 Output - P3D65
    ACES 1.0 Output - P3D65 (D60 simulation)
    ACES 1.0 Output - P3D65 (Rec.709 Limited)
    ACES 1.0 Output - P3-DCI (D60 simulation)
    ACES 1.0 Output - P3-DCI (D65 simulation)

Inv RRT

Inv RRT

Input OCES and output ACES

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:InvRRT.a1.0.3

  • ACES user name
    ACES 1.0 - Inverse RRT

DCDM ODT

P3 ODT

Output Device Transforms - Rec.2020

DCDM

The output of this transform follows the encoding specified in SMPTE S428-1-2006. The gamut is a device-independent colorimetric encoding based on CIE XYZ. Therefore, output values are not limited to any physical device's actual color gamut that is determined by its color primaries.

The assumed observer adapted white is D60, and the viewing environment is that of a dark theater.

This transform shall be used for a device calibrated to match the Digital Cinema Reference Projector Specification outlined in SMPTE RP 431-2-2007.

P3D60 limited

This ODT encodes XYZ colorimetry that is gamut-limited to P3 primaries with a D60 whitepoint. This has two advantages:

  1. "Gamut mapping" is explicitly controlled by the ODT by clipping any XYZ values that map outside of the P3 gamut. Without this step, it would be left to the projector to handle any XYZ values outside of the P3 gamut. In most devices, this is performed using a simple clip, but not always. If out-of-gamut values are left to be handled by the device, different image appearance could potentially result on different devices even though they have the same gamut.

  2. Assuming the content was graded (and approved) on a projector with a P3D60 gamut, limiting the colors to that gamut assures there will be no unexpected color appearance if the DCP is later viewed on a device with a wider gamut.

The assumed observer adapted white is D60, and the viewing environment is that of a dark theater.

This transform shall be used for a device calibrated to match the Digital Cinema Reference Projector Specification outlined in SMPTE RP 431-2-2007.

P3D65 limited

This ODT encodes XYZ colorimetry that is gamut-limited to P3 primaries with a D65 whitepoint. This has two advantages:

  1. "Gamut mapping" is explicitly controlled by the ODT by clipping any XYZ values that map outside of the P3 gamut. Without this step, it would be left to the projector to handle any XYZ values outside of the P3 gamut. In most devices, this is performed using a simple clip, but not always. If out-of-gamut values are left to be handled by the device, different image appearance could potentially result on different devices even though they have the same gamut.

  2. Assuming the content was graded (and approved) on a projector with a P3D65 gamut, limiting the colors to that gamut assures there will be no unexpected color appearance if the DCP is later viewed on a device with a wider gamut.

The assumed observer adapted white is D65, and the viewing environment is that of a dark theater.

This transform shall be used for a device calibrated to match the Digital Cinema Reference Projector Specification outlined in SMPTE RP 431-2-2007.

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ODT.Academy.DCDM.a1.0.3
    urn:ampas:aces:transformId:v1.5:ODT.Academy.DCDM_P3D60.a1.0.3
    urn:ampas:aces:transformId:v1.5:ODT.Academy.DCDM_P3D65limited.a1.1.0

  • ACES user name
    ACES 1.0 Output - DCDM
    ACES 1.0 Output - DCDM (P3D60 Limited)
    ACES 1.0 Output - DCDM (P3D65 Limited)

ACEScg

ACEScg

ACES Color Space Conversion - ACEScg

No further details.

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACEScg.a1.0.3
    urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACEScg_to_ACES.a1.0.3

  • ACES user name
    ACES2065-1 to ACEScg
    ACEScg to ACES2065-1

sRGB ODT

sRGB ODT

Output Device Transform - RGB computer monitor

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ODT.Academy.RGBmonitor_100nits_dim.a1.0.3

  • ACES user name
    ACES 1.0 Output - sRGB

ACESproxy

ACESproxy

ACES Color Space Conversion - ACEScg

This transform follows the formulas from S-2013-001. Please refer to the aforementioned document for the exact math and a table of reference values.

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACESproxy10i.a1.0.3
    urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACESproxy12i.a1.0.3
    urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACESproxy10i_to_ACES.a1.0.3
    urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACESproxy12i_to_ACES.a1.0.3

  • ACES user name
    ACES2065-1 to ACESproxy
    ACESproxy to ACES2065-1

Transform Common

Transform Common

Contains functions and constants shared by multiple forward and inverse transforms

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ACESlib.Transform_Common.a1.0.3

  • ACES user name
    ACES 1.0 Lib - Transform Common

Rec.709 ODT

Rec.709 ODT (and D60 sim. variant)

Output Device Transform - Rec709

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec709_100nits_dim.a1.0.3
    urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec709_D60sim_100nits_dim.a1.0.3

  • ACES user name
    ACES 1.0 Output - Rec.709
    ACES 1.0 Output - Rec.709 (D60 simulation)

Rec.2020 ODT

Rec.2020 ODT

Output Device Transforms - Rec.2020

Summary

This transform is intended for mapping OCES onto a Rec.2020 broadcast monitor that is calibrated to a D65 white point at 100 cd/m^2. The assumed observer adapted white is D65, and the viewing environment is that of a dim surround.

A possible use case for this transform would be UHDTV/video mastering.

P3D65 Limited

Color values are limited to the P3D65 gamut for applications where a match is expected between a P3D65 image and a Rec.709 reference monitor.

Assuming the content was graded (and approved) on a projector with a P3D65 gamut, limiting the colors to P3D65 assures there will be no unexpected colors when viewed on a Rec.2020 device with a (potentially) wider gamut.

Rec.709 limited

Color values are limited to the Rec.709 gamut for applications where a match is expected between a Rec.2020 image and a Rec.709 reference monitor.

Assuming the content was graded (and approved) on a Rec.709 display, limiting the colors to Rec.709 assures there will be no unexpected colors when viewed on a Rec.2020 device with a (potentially) wider gamut.

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec2020_100nits_dim.a1.0.3
    urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec2020_P3D65limited_100nits_dim.a1.1.0
    urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec2020_Rec709limited_100nits_dim.a1.1.0

  • ACES user name
    ACES 1.0 Output - Rec.2020
    ACES 1.0 Output - Rec.2020 (P3D65 limited)
    ACES 1.0 Output - Rec.2020 (Rec.709 limited)

ODT Common

ODT Common

Contains functions and constants shared by forward and inverse ODT transforms

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ACESlib.ODT_Common.a1.1.0

  • ACES user name
    ACES 1.0 Lib - ODT Common

SSTS

SSTS

Contains functions and constants shared by forward and inverse RRT transforms

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ACESlib.SSTS.a1.1.0

  • ACES user name
    ACES 1.0 Lib - SSTS

Output Transforms

Output Transforms

Contains functions used for forward and inverse Output Transforms (RRT+ODT)

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ACESlib.OutputTransforms.a1.1.0

  • ACES user name
    ACES 1.0 Lib - Output Transforms

Utilities

Utilities

Generic functions that may be useful for writing CTL programs

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ACESlib.Utilities.a1.0.3

  • ACES user name
    ACES 1.0 Lib - Utilities

Color Utilities

Color Utilities

Color related constants and functions

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ACESlib.Utilities_Color.a1.1.0

  • ACES user name
    ACES 1.0 Lib - Color Utilities

Tonescales

Tonescales

No description

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ACESlib.Tonescales.a1.0.3

  • ACES user name
    ACES 1.0 Lib - Tonescales

RRT

RRT

Input ACES and output OCES

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:RRT.a1.0.3

  • ACES user name
    ACES 1.0 - RRT

RRT Common

RRT Common

Contains functions and constants shared by forward and inverse RRT transforms

ACES Specifications

  • ACES transform ID
    urn:ampas:aces:transformId:v1.5:ACESlib.RRT_Common.a1.1.0

  • ACES user name
    ACES 1.0 Lib - RRT Common

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.