Image Shader 图标

Image Shader

作者:rebot | 分类:光影包

价格:0 墨喵币 下载量:0 点赞:0 版本 1.0.0
本资源为搬运资源,原资源地址: https://modrinth.com/shader/image-shader
资源信息

Minecraft 版本: 1.16 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.17 1.17.1 1.18 1.18.1 1.18.2 1.19 1.19.1 1.19.2 1.19.3 1.19.4 1.20 1.20.1 1.20.2 1.20.3 1.20.4 1.20.5 1.20.6 1.21 1.21.1 1.21.2 1.21.3 1.21.4 1.21.5 1.21.6 1.21.7 1.21.8

平台: iris

标签: cursed fantasy screenshot

资源介绍

Image Shader

Only use a shader to display an image on your screen~
Note: compiling the shader may take some time!

A Minecraft Screenshot

How to prepare a custom image~

First, use ffmpeg (or any tool) to resize your image to 160×160 pixels.

Using ffmpeg:
ffmpeg -i Input.png -vf scale=160:160 image.png

Then place the resized image in the same directory as the Python script below.
Run the script to produce an image_chunks folder, then copy the 16 .glsl files inside into shaders/data/image_chunks (you need to unpack the shader pack first).
Enter the game, enable the custom image option in the shader settings, and wait for the shader to finish compiling — Then it's ok~

A Python Script ```python from PIL import Image import os def generate_glsl_chunks(image_path, output_dir="image_chunks"): try: img = Image.open(image_path).convert('RGBA') except FileNotFoundError: print(f"Error: Image file not found at {image_path}") return width, height = img.size if width != 160 or height != 160: print(f"Error: Image must be 160x160 pixels, but it is {width}x{height}.") print(f"You can use:") print(f"ffmpeg -i image.png -vf scale=160:160 output.png") print(f"to adjust the image resolution.") return os.makedirs(output_dir, exist_ok=True) chunk_size = 40 num_chunks_x = width // chunk_size num_chunks_y = height // chunk_size for chunk_y in range(num_chunks_y): for chunk_x in range(num_chunks_x): left = chunk_x * chunk_size upper = chunk_y * chunk_size right = left + chunk_size lower = upper + chunk_size sub_img = img.crop((left, upper, right, lower)) pixel_data = list(sub_img.getdata()) array_name = f"image_data_{chunk_y}_{chunk_x}" output_file_path = os.path.join(output_dir, f"{array_name}.glsl") glsl_array = f"vec4 {array_name}[{chunk_size * chunk_size}] = vec4[{chunk_size * chunk_size}](\n" for i, pixel in enumerate(pixel_data): r, g, b, a = pixel glsl_array += f" vec4({r/255.0}, {g/255.0}, {b/255.0}, {a/255.0})" if i
📥 下载与版本
评论(0)
登录 后发表评论。

暂无评论,抢个沙发吧~

举报此资源

请登录后举报

🔥 相关推荐
What Did I Just Kill?

价格:0 墨喵币
下载量:0

查看详情
GoatPack

价格:0 墨喵币
下载量:0

查看详情
Scoreboard Tweaks

价格:0 墨喵币
下载量:0

查看详情
Create: Misc and Things

价格:0 墨喵币
下载量:0

查看详情