overte-lubosz/tools/srgb_gen.py
2016-08-08 15:44:08 -07:00

34 lines
788 B
Python

#
# srgb_gen.py
# tools/
#
# Created by Ryan Huffman on 8/8/2016.
# Copyright 2016 High Fidelity, Inc.
#
# Distributed under the Apache License, Version 2.0.
# See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
# Generates a lookup table for SRGB to Linear color transformations
NUM_VALUES = 256
srgb_to_linear = []
# Calculate srgb to linear
for i in range(NUM_VALUES):
s = float(i) / 255
if s < 0.04045:
l = s / 12.92
else:
l = ((s + 0.055) / 1.055) ** 2.4
srgb_to_linear.append(l)
# Format and print
data = "{\n "
for i, v in enumerate(srgb_to_linear):
data += str(v) + "f"
if i < NUM_VALUES - 1:
data += ", "
if i > 0 and i % 6 == 0:
data += "\n "
data += "\n}"
print(data)