12/15/2023 0 Comments Log base 2 of 4096![]() ociobakelut -iconfig aces_1.2/config.ocio -v -inputspace "ACES - ACEScg" -outputspace "Output - sRGB" -description "ACES 1.2 Output - ACEScg to sRGB" -shaperspace "Utility - Log2 48 nits Shaper - AP1" -shapersize 4096 -cubesize 64 -format cinespace "ACEScg-to-sRGB-log2-48nits-v1.2. To investigate this I tried validating sRGB output again using ACES 1.2 with the new shaper. However, when generating a LUT with this new shaper, the results looked completely off. I also read that in ACES 1.1, changes were made to the log2 48 nits shaper function to reduce the error in over-saturated images, including altering the range of the shaper from stops (max 16.29174) to stops (max 222.860992). From the knowledge base on this website, I found that the OCIO Configs for ACES version 1.2 should be obtained from the colour-science/OpenColorIO-Configs repository. If x x and b b are positive real numbers and b b does not equal 1 1, then logb (x) y log b ( x) y is equivalent to by x. Rewrite log4 (4096) x log 4 ( 4096) x in exponential form using the definition of a logarithm. Some transforms for this were still missing in ACES 1.0.3, so I upgraded to ACES 1.2. log4 (4096) log 4 ( 4096) Rewrite as an equation. Example 4.6.2: Solve Equations by Rewriting Them to Have a Common Base. Solve the resulting equation, S T, for the unknown. Use the one-to-one property to set the exponents equal. Then I wanted to support Display P3, a format with D65 as the reference illuminant that uses the same transfer function as sRGB. Use the rules of exponents to simplify, if necessary, so that the resulting equation has the form bS bT. ![]() The results were quite close (I didn’t expect a perfect match since I am using look-up-tables for the transformations). To find the exponent from the base and the exponentation result, use logarithm calculator. Spl = InterpolatedUnivariateSpline(inputSteps, outputSteps)īy dividing the ACEScg values that go into this shaper LUT by the maximum value, I can sample the LUT in a 0-1 range. LinSteps = np.linspace(smallestInput, largestInput, 4096) To do this, I used a small Python script: from scipy import interpolateįrom scipy.interpolate import InterpolatedUnivariateSpline Since the cinespace file format specifies the input range and the values that map to it, I first ensured that the input range was linear so it could be sampled as a texture. ![]() ociobakelut -iconfig aces_1.0.3/config.ocio -v -inputspace "ACES - ACEScg" -outputspace "Output - sRGB" -description "ACES 1.0.3 Output - ACEScg to sRGB" -shaperspace "Utility - Log2 48 nits Shaper - AP1" -shapersize 4096 -cubesize 64 -format cinespace "ACEScg-to-sRGB-log2-48nits-v1.0.3.csp" I generated my transforms using ociobakelut with the log2 48 nits shaper, setting a resolution of 64 for the cube LUT and 4096 for the 1D shaper LUT. Supporting only sRGB output, and validated the results using reference images, which achieved a really close match. ![]() I have been working on making a renderer ACES color-managed and had this working with ACES 1.0.3. Similarly, to divide 2048 by 64, take the log of 2048, which is 11. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |