Ejemplo n.º 1
0
def fixGrayscaleTextures(np):
    for tex in np.findAllTextures():
        if (tex.getFormat() == Texture.F_luminance):
            print "Fixing grayscale texture", tex.getName()
            img = PNMImage()
            tex.store(img)
            img.makeRgb()
            tex.load(img)
Ejemplo n.º 2
0
emissive_srgb = bool(int(raw_input("sRGB (Edited in image program)? [1/0]: ")))

size = [1024, 1024]

fImgs = [[ao, ao_srgb], [roughness, roughness_srgb], [metallic, metallic_srgb],
         [emissive, emissive_srgb]]
imgs = {}

foundSize = False

for i in range(len(fImgs)):
    fImg, is_sRGB = fImgs[i]
    if fImg.exists():
        img = PNMImage()
        img.read(fImg)
        img.makeRgb()
        if is_sRGB:
            # Convert to linear
            print("Converting", getChannelName(i), "to linear")
            img.applyExponent(2.2)
        if not foundSize:
            size = [img.getReadXSize(), img.getReadYSize()]
            foundSize = True
        imgs[i] = img
    else:
        # assume it is a constant value
        val = float(fImg.getFullpath())
        if is_sRGB:
            print("Converting", getChannelName(i), "to linear")
            # Convert to linear
            val = math.pow(val, 2.2)