import os import sys import unittest import numpy as np sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) import bl_convert as bc class TestBaseTextureEncoding(unittest.TestCase): def test_base_texture_rgb_is_encoded_as_srgb_and_alpha_is_preserved(self): rgba = np.array([[[0.0, 0.18, 0.5, 0.37]]], dtype=np.float32) encoded = bc.encode_base_texture_for_png(rgba) expected_rgb = np.array([0.0, 0.461356, 0.735357], dtype=np.float32) np.testing.assert_allclose(encoded[0, 0, :3], expected_rgb, rtol=0, atol=1e-5) self.assertAlmostEqual(float(encoded[0, 0, 3]), 0.37, places=6) if __name__ == "__main__": unittest.main()