+import os
+
class TextureExporter:
def __init__(self):
self.inline_data = True
if texture.use_interpolation:
if texture.use_mipmap:
- tex_res.statements.append(Statement("min_filter", Token('LINEAR_MIPMAP_LINEAR')))
+ tex_res.statements.append(Statement("filter", Token('LINEAR_MIPMAP_LINEAR')))
tex_res.statements.append(Statement("generate_mipmap", True))
else:
- tex_res.statements.append(Statement("min_filter", Token('LINEAR')))
+ tex_res.statements.append(Statement("filter", Token('LINEAR')))
tex_res.statements.append(Statement("max_anisotropy", texture.filter_eccentricity))
else:
if texture.use_mipmap:
- tex_res.statements.append(Statement("min_filter", Token('NEAREST_MIPMAP_NEAREST')))
+ tex_res.statements.append(Statement("filter", Token('NEAREST_MIPMAP_NEAREST')))
tex_res.statements.append(Statement("generate_mipmap", True))
else:
- tex_res.statements.append(Statement("min_filter", Token('NEAREST')))
+ tex_res.statements.append(Statement("filter", Token('NEAREST')))
- if not self.inline_data:
- from .util import image_name
- tex_res.statements.append(Statement("external_image", image_name(texture.image)))
+ fn = os.path.basename(texture.image.filepath)
+ if not self.inline_data and fn:
+ tex_res.statements.append(Statement("external_image", fn))
else:
texdata = ""
+ colorspace = texture.image.colorspace_settings.name
if texture.use_alpha:
- fmt = 'RGBA'
+ fmt = 'SRGB_ALPHA' if colorspace=='sRGB' else 'RGBA'
for p in texture.image.pixels:
texdata += "\\x{:02X}".format(int(p*255))
else:
- fmt = 'RGB'
+ fmt = 'SRGB' if colorspace=='sRGB' else 'RGB'
for i in range(0, len(texture.image.pixels), 4):
for j in range(3):
texdata += "\\x{:02X}".format(int(texture.image.pixels[i+j]*255))