Compare commits

...

2 Commits

Author SHA1 Message Date
Nils Dagsson Moskopp fa28f4c8de
Generate TGA type 3 test textures using loops 2023-10-17 20:12:23 +02:00
Nils Dagsson Moskopp 6db7be7b9d
Generate TGA type 1 test textures using loops 2023-10-17 19:50:09 +02:00
1 changed files with 90 additions and 28 deletions

View File

@ -28,46 +28,108 @@ local pixels_colormapped_tb = {
{ _, _, _, _, _, B, _, B, }, { _, _, _, _, _, B, _, B, },
} }
image_colormapped_bt = tga_encoder.image(pixels_colormapped_bt) local pixels_colormapped_by_scanline_order = {
image_colormapped_tb = tga_encoder.image(pixels_colormapped_tb) ["bottom-top"] = pixels_colormapped_bt,
["top-bottom"] = pixels_colormapped_tb,
}
colormap_32bpp = { local _ = { 0 }
local R = { 127 }
local G = { 255 }
local B = { 191 }
local pixels_grayscale_bt = {
{ _, _, _, _, _, B, _, B, },
{ _, _, _, _, _, B, B, B, },
{ _, _, G, G, G, B, _, B, },
{ _, _, G, _, G, B, B, B, },
{ _, R, G, _, _, _, _, _, },
{ _, R, G, G, G, _, _, _, },
{ _, R, _, _, _, _, _, _, },
{ R, R, R, _, _, _, _, _, },
}
local pixels_grayscale_tb = {
{ R, R, R, _, _, _, _, _, },
{ _, R, _, _, _, _, _, _, },
{ _, R, G, G, G, _, _, _, },
{ _, R, G, _, _, _, _, _, },
{ _, _, G, _, G, B, B, B, },
{ _, _, G, G, G, B, _, B, },
{ _, _, _, _, _, B, B, B, },
{ _, _, _, _, _, B, _, B, },
}
local pixels_grayscale_by_scanline_order = {
["bottom-top"] = pixels_grayscale_bt,
["top-bottom"] = pixels_grayscale_tb,
}
local colormap_32bpp = {
{ 0, 0, 0, 128 }, { 0, 0, 0, 128 },
{ 255, 0, 0, 255 }, { 255, 0, 0, 255 },
{ 0, 255, 0, 255 }, { 0, 255, 0, 255 },
{ 0, 0, 255, 255 }, { 0, 0, 255, 255 },
} }
image_colormapped_bt:save(
"type1_32bpp_bt.tga",
{ colormap = colormap_32bpp, color_format = "B8G8R8A8", scanline_order = "bottom-top" }
)
image_colormapped_tb:save(
"type1_32bpp_tb.tga",
{ colormap = colormap_32bpp, color_format = "B8G8R8A8", scanline_order = "top-bottom" }
)
image_colormapped_bt:save(
"type1_16bpp_bt.tga",
{ colormap = colormap_32bpp, color_format = "A1R5G5B5", scanline_order = "bottom-top" }
)
image_colormapped_tb:save(
"type1_16bpp_tb.tga",
{ colormap = colormap_32bpp, color_format = "A1R5G5B5", scanline_order = "top-bottom" }
)
colormap_24bpp = { local colormap_24bpp = {
{ 0, 0, 0 }, { 0, 0, 0 },
{ 255, 0, 0 }, { 255, 0, 0 },
{ 0, 255, 0 }, { 0, 255, 0 },
{ 0, 0, 255 }, { 0, 0, 255 },
} }
image_colormapped_bt:save(
"type1_24bpp_bt.tga", local colormap_16bpp = {
{ colormap = colormap_32bpp, color_format = "B8G8R8", scanline_order = "bottom-top" } { 0, 0, 0, 0 },
) { 255, 0, 0, 255 },
image_colormapped_tb:save( { 0, 255, 0, 255 },
"type1_24bpp_tb.tga", { 0, 0, 255, 255 },
{ colormap = colormap_32bpp, color_format = "B8G8R8", scanline_order = "top-bottom" } }
)
local colormap_by_color_format = {
["A1R5G5B5"] = colormap_16bpp,
["B8G8R8"] = colormap_24bpp,
["B8G8R8A8"] = colormap_32bpp,
}
for _, color_format in ipairs(
tga_encoder.features.color_format
) do
for _, scanline_order in ipairs(
tga_encoder.features.scanline_order
) do
local filename
local pixels
if ("Y8" == color_format) then
filename = "type3" ..
'_' .. color_format ..
'_' .. scanline_order ..
'.tga'
pixels = pixels_grayscale_by_scanline_order[
scanline_order
]
else
filename = "type1" ..
'_' .. color_format ..
'_' .. scanline_order ..
'.tga'
pixels = pixels_colormapped_by_scanline_order[
scanline_order
]
end
local colormap = colormap_by_color_format[
color_format
]
local properties = {
colormap = colormap,
color_format = color_format,
scanline_order = scanline_order,
}
print(filename)
local image = tga_encoder.image(pixels)
image:save(filename, properties)
end
end
local _ = { 0, 0, 0, 128 } local _ = { 0, 0, 0, 128 }
local R = { 255, 0, 0, 255 } local R = { 255, 0, 0, 255 }