shaderlib: Add smart_denoise function, add example, move example images into separate folder; implements #29

This commit is contained in:
ChaoticByte 2025-01-08 20:53:45 +01:00
parent 7b72274140
commit 9b6d5d0a78
No known key found for this signature in database
17 changed files with 127 additions and 16 deletions

View file

@ -1,6 +1,6 @@
shader_type canvas_item;
//!load ./swamp.jpg
//!load ./images/swamp.jpg
const vec2 offset_r = vec2(-0.002, -0.002);
const vec2 offset_g = vec2(0., 0.);

View file

@ -3,7 +3,7 @@ shader_type canvas_item;
#include "res://shaderlib/hsv.gdshaderinc"
#include "res://shaderlib/effects.gdshaderinc"
//!load ./swamp.jpg
//!load ./images/swamp.jpg
void fragment() {
COLOR = pixelate(TEXTURE, UV, 200.0);

View file

@ -0,0 +1,9 @@
shader_type canvas_item;
//!load ./images/noisy.png
#include "res://shaderlib/denoise.gdshaderinc"
void fragment() {
COLOR = smart_denoise(TEXTURE, UV, 12.0, 1.0, .12);
}

View file

@ -1,6 +1,6 @@
shader_type canvas_item;
//!load ./swamp.jpg
//!load ./images/swamp.jpg
void fragment() {
float b = (COLOR.r + COLOR.g + COLOR.b) / 3.0;

View file

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c1mh1d2f3u4ju"
path="res://.godot/imported/grass.png-30af7213ed2d70b810b4ae788314a9e9.ctex"
path="res://.godot/imported/grass.png-61a458998da568ce60ccb8a0c7caaf6d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://examples/grass.png"
dest_files=["res://.godot/imported/grass.png-30af7213ed2d70b810b4ae788314a9e9.ctex"]
source_file="res://examples/images/grass.png"
dest_files=["res://.godot/imported/grass.png-61a458998da568ce60ccb8a0c7caaf6d.ctex"]
[params]

BIN
examples/images/noisy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cfe2d0qes5x87"
path="res://.godot/imported/noisy.png-1b2e79340785c6c0f50d5bad5ce97356.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://examples/images/noisy.png"
dest_files=["res://.godot/imported/noisy.png-1b2e79340785c6c0f50d5bad5ce97356.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View file

Before

Width:  |  Height:  |  Size: 477 KiB

After

Width:  |  Height:  |  Size: 477 KiB

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://ckjb0agn5btv7"
path="res://.godot/imported/swamp.jpg-8e3eac7e7aacce65638e712310cdb35c.ctex"
path="res://.godot/imported/swamp.jpg-1dfdcd52a5ef03d42a82a7f06acefa98.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://examples/swamp.jpg"
dest_files=["res://.godot/imported/swamp.jpg-8e3eac7e7aacce65638e712310cdb35c.ctex"]
source_file="res://examples/images/swamp.jpg"
dest_files=["res://.godot/imported/swamp.jpg-1dfdcd52a5ef03d42a82a7f06acefa98.ctex"]
[params]

View file

@ -1,6 +1,6 @@
shader_type canvas_item;
//!load ./swamp.jpg
//!load ./images/swamp.jpg
// Settings
const float threshold = 0.6;

View file

@ -1,7 +1,7 @@
shader_type canvas_item;
//!steps 9
//!load ./swamp.jpg
//!load ./images/swamp.jpg
const float strength = 0.01;

View file

@ -3,8 +3,8 @@ shader_type canvas_item;
#include "res://shaderlib/transform.gdshaderinc"
#include "res://shaderlib/transparency.gdshaderinc"
//!load ./swamp.jpg
//!load+ img2 ./grass.png
//!load ./images/swamp.jpg
//!load+ img2 ./images/grass.png
uniform sampler2D img2: repeat_disable, filter_nearest;