mirror of
https://github.com/luanti-org/luanti.git
synced 2025-09-15 18:57:08 +00:00
Add embedded PNG texture modifier (#11498)
This commit is contained in:
parent
fe5cb2cdfb
commit
02292e03e4
3 changed files with 126 additions and 35 deletions
|
@ -102,12 +102,22 @@ local function gen_checkers(w, h, tile)
|
|||
end
|
||||
|
||||
local fractal = mandelbrot(512, 512, 128)
|
||||
local frac_emb = mandelbrot(64, 64, 64)
|
||||
local checker = gen_checkers(512, 512, 32)
|
||||
|
||||
local floor = math.floor
|
||||
local abs = math.abs
|
||||
local data_emb = {}
|
||||
local data_mb = {}
|
||||
local data_ck = {}
|
||||
for i=1, #frac_emb do
|
||||
data_emb[i] = {
|
||||
r = floor(abs(frac_emb[i] * 2 - 1) * 255),
|
||||
g = floor(abs(1 - frac_emb[i]) * 255),
|
||||
b = floor(frac_emb[i] * 255),
|
||||
a = frac_emb[i] < 0.95 and 255 or 0,
|
||||
}
|
||||
end
|
||||
for i=1, #fractal do
|
||||
data_mb[i] = {
|
||||
r = floor(fractal[i] * 255),
|
||||
|
@ -140,3 +150,24 @@ minetest.register_node("testnodes:generated_png_ck", {
|
|||
|
||||
groups = { dig_immediate = 2 },
|
||||
})
|
||||
|
||||
local png_emb = "[png:" .. minetest.encode_base64(minetest.encode_png(64,64,data_emb))
|
||||
|
||||
minetest.register_node("testnodes:generated_png_emb", {
|
||||
description = S("Generated In-Band Mandelbrot PNG Test Node"),
|
||||
tiles = { png_emb },
|
||||
|
||||
groups = { dig_immediate = 2 },
|
||||
})
|
||||
minetest.register_node("testnodes:generated_png_src_emb", {
|
||||
description = S("Generated In-Band Source Blit Mandelbrot PNG Test Node"),
|
||||
tiles = { png_emb .. "^testnodes_damage_neg.png" },
|
||||
|
||||
groups = { dig_immediate = 2 },
|
||||
})
|
||||
minetest.register_node("testnodes:generated_png_dst_emb", {
|
||||
description = S("Generated In-Band Dest Blit Mandelbrot PNG Test Node"),
|
||||
tiles = { "testnodes_generated_ck.png^" .. png_emb },
|
||||
|
||||
groups = { dig_immediate = 2 },
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue