int main()
{
	int Error = 0;
	
	for(int FormatIndex = gli::FORMAT_FIRST, FormatCount = gli::FORMAT_LAST; FormatIndex < FormatCount; ++FormatIndex)
	{
		gli::target const Target = gli::TARGET_CUBE;
		gli::format Format = static_cast<gli::format>(FormatIndex);
			
		gli::size_t const Layers = gli::is_target_array(Target) ? 2 : 1;
		gli::size_t const Faces = gli::is_target_cube(Target) ? 6 : 1;
		gli::ivec3 const BlockDimensions = gli::block_dimensions(Format);
			
		gli::texture Texture(Target, Format, BlockDimensions * gli::ivec3(BlockDimensions.y, BlockDimensions.x, 1), Layers, Faces, 2);
		Texture.clear();
			
		gli::save(Texture, "test_cube.dds");
		gli::texture TextureDDS(gli::load("test_cube.dds"));
		Error += Texture == TextureDDS ? 0 : 1;
			
		gli::save(Texture, "test_cube.ktx");
		gli::texture TextureKTX(gli::load("test_cube.ktx"));
		Error += Texture == TextureKTX ? 0 : 1;
			
		gli::save(Texture, "test_cube.kmg");
		gli::texture TextureKMG(gli::load("test_cube.kmg"));
		Error += Texture == TextureKMG ? 0 : 1;

		assert(!Error);
	}
	
	return Error;
}
예제 #2
0
	int test(params const & Params)
	{
		int Error(0);

		gli::texture TextureDDS(gli::load(path(Params.Filename, ".dds")));
		Error += TextureDDS.format() == Params.Format ? 0 : 1;

		gli::save(TextureDDS, Params.Filename + ".kmg");
		gli::texture TextureSavedKMG(gli::load(Params.Filename + ".kmg"));

		Error += TextureSavedKMG.format() == Params.Format ? 0 : 1;
		Error += TextureSavedKMG == TextureDDS ? 0 : 1;

		gli::save(TextureDDS, Params.Filename + ".dds");
		gli::texture TextureSavedDDS(gli::load(Params.Filename + ".dds"));

		Error += TextureSavedDDS.format() == Params.Format ? 0 : 1;
		Error += TextureSavedDDS == TextureDDS ? 0 : 1;

		return Error;
	}
예제 #3
0
	int test()
	{
		int Error(0);

		gli::texture2d TextureA(gli::load(path("kueken7_rgba16_sfloat.ktx")));
		GLI_ASSERT(!TextureA.empty());

		gli::texture2d Convert = gli::convert(TextureA, gli::FORMAT_RG11B10_UFLOAT_PACK32);

		gli::save(Convert, "kueken7_rg11b10_ufloat.dds");
		gli::save(Convert, "kueken7_rg11b10_ufloat.ktx");

		gli::texture2d TextureDDS(gli::load("kueken7_rg11b10_ufloat.dds"));
		GLI_ASSERT(!TextureDDS.empty());
		gli::texture2d TextureKTX(gli::load("kueken7_rg11b10_ufloat.ktx"));
		GLI_ASSERT(!TextureKTX.empty());

		Error += TextureDDS == TextureKTX ? 0 : 1;
		Error += TextureDDS == Convert ? 0 : 1;

		GLI_ASSERT(!Error);

		return Error;
	}