Skip to content

Commit 9f4307c

Browse files
committed
Add a 3D tonemapping and color correction demo
This showcases various tonemapping operators and their interaction with several color correction textures (1D and 3D). A script generating neutral 3D LUT textures is also included.
1 parent a87fded commit 9f4307c

File tree

65 files changed

+1403
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1403
-0
lines changed

3d/tonemap_color_correction/README.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Tonemapping and Color Correction
2+
3+
This showcases various tonemapping operators and their interaction with several
4+
color correction textures (1D and 3D).
5+
6+
A script generating neutral 3D LUT textures is also included.
7+
8+
Language: GDScript
9+
10+
Renderer: Forward Plus
11+
12+
## Screenshots
13+
14+
![Screenshot](screenshots/tonemap_color_correction.webp)
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://8iyvvj75q6bd"
6+
path="res://.godot/imported/detect_white_clipping.png-ff83ca2587cf6e3783223e00c5b42bce.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://example_luts/1d/detect_white_clipping.png"
14+
dest_files=["res://.godot/imported/detect_white_clipping.png-ff83ca2587cf6e3783223e00c5b42bce.ctex"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/normal_map=0
23+
compress/channel_pack=0
24+
mipmaps/generate=false
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
28+
process/fix_alpha_border=true
29+
process/premult_alpha=false
30+
process/normal_map_invert_y=false
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=1
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://3fu2y401e2wn"
6+
path="res://.godot/imported/frozen.png-457f8ff344433e9f459b5caaede7bfab.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://example_luts/1d/frozen.png"
14+
dest_files=["res://.godot/imported/frozen.png-457f8ff344433e9f459b5caaede7bfab.ctex"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/normal_map=0
23+
compress/channel_pack=0
24+
mipmaps/generate=false
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
28+
process/fix_alpha_border=true
29+
process/premult_alpha=false
30+
process/normal_map_invert_y=false
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=1
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://t3ag4e6j1i7n"
6+
path="res://.godot/imported/heat.png-27bfc7c4ee7ae772dcd2e3b8c4e82264.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://example_luts/1d/heat.png"
14+
dest_files=["res://.godot/imported/heat.png-27bfc7c4ee7ae772dcd2e3b8c4e82264.ctex"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/normal_map=0
23+
compress/channel_pack=0
24+
mipmaps/generate=false
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
28+
process/fix_alpha_border=true
29+
process/premult_alpha=false
30+
process/normal_map_invert_y=false
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=1
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://b76jtu3lfrof8"
6+
path="res://.godot/imported/incandescent.png-b204183d282b9168fd54f936bbf329ce.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://example_luts/1d/incandescent.png"
14+
dest_files=["res://.godot/imported/incandescent.png-b204183d282b9168fd54f936bbf329ce.ctex"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/normal_map=0
23+
compress/channel_pack=0
24+
mipmaps/generate=false
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
28+
process/fix_alpha_border=true
29+
process/premult_alpha=false
30+
process/normal_map_invert_y=false
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=1
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://emt27ho4felt"
6+
path="res://.godot/imported/posterized.png-a34de9ef248db176b274e5299bfdfe43.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://example_luts/1d/posterized.png"
14+
dest_files=["res://.godot/imported/posterized.png-a34de9ef248db176b274e5299bfdfe43.ctex"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/normal_map=0
23+
compress/channel_pack=0
24+
mipmaps/generate=false
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
28+
process/fix_alpha_border=true
29+
process/premult_alpha=false
30+
process/normal_map_invert_y=false
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=1
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://cy3n57u6o0x5t"
6+
path="res://.godot/imported/posterized_outline.png-a5caa8e602fc1e5b6e6b8ce44670a14d.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://example_luts/1d/posterized_outline.png"
14+
dest_files=["res://.godot/imported/posterized_outline.png-a5caa8e602fc1e5b6e6b8ce44670a14d.ctex"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/normal_map=0
23+
compress/channel_pack=0
24+
mipmaps/generate=false
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
28+
process/fix_alpha_border=true
29+
process/premult_alpha=false
30+
process/normal_map_invert_y=false
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=1
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://0y7x46bwdm8q"
6+
path="res://.godot/imported/rainbow.png-3f78eb0d72b9b81b1fbcb63640e8b7c7.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://example_luts/1d/rainbow.png"
14+
dest_files=["res://.godot/imported/rainbow.png-3f78eb0d72b9b81b1fbcb63640e8b7c7.ctex"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/normal_map=0
23+
compress/channel_pack=0
24+
mipmaps/generate=false
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
28+
process/fix_alpha_border=true
29+
process/premult_alpha=false
30+
process/normal_map_invert_y=false
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=1
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://cacjitmb1bk88"
6+
path="res://.godot/imported/toxic.png-b2acad2fbcf1706454391fb0b2887380.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://example_luts/1d/toxic.png"
14+
dest_files=["res://.godot/imported/toxic.png-b2acad2fbcf1706454391fb0b2887380.ctex"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/normal_map=0
23+
compress/channel_pack=0
24+
mipmaps/generate=false
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
28+
process/fix_alpha_border=true
29+
process/premult_alpha=false
30+
process/normal_map_invert_y=false
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=1
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
[remap]
2+
3+
importer="3d_texture"
4+
type="CompressedTexture3D"
5+
uid="uid://1e0vurlkfhcc"
6+
path="res://.godot/imported/brighten_shadows.png-61280821ebde1ed825cfb67e480939d6.ctex3d"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://example_luts/3d/brighten_shadows.png"
14+
dest_files=["res://.godot/imported/brighten_shadows.png-61280821ebde1ed825cfb67e480939d6.ctex3d"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/channel_pack=0
23+
mipmaps/generate=false
24+
mipmaps/limit=-1
25+
slices/horizontal=33
26+
slices/vertical=1
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
[remap]
2+
3+
importer="3d_texture"
4+
type="CompressedTexture3D"
5+
uid="uid://clhpel6jn4gus"
6+
path="res://.godot/imported/burned_blue.png-3fa578a6aed0a39c8ea444d1fdfa2bd0.ctex3d"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://example_luts/3d/burned_blue.png"
14+
dest_files=["res://.godot/imported/burned_blue.png-3fa578a6aed0a39c8ea444d1fdfa2bd0.ctex3d"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/channel_pack=0
23+
mipmaps/generate=false
24+
mipmaps/limit=-1
25+
slices/horizontal=33
26+
slices/vertical=1
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
[remap]
2+
3+
importer="3d_texture"
4+
type="CompressedTexture3D"
5+
uid="uid://b4jlxhcbyp0e8"
6+
path="res://.godot/imported/cold_color.png-210fff9bc7f9e391d44adb29f141a6a0.ctex3d"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://example_luts/3d/cold_color.png"
14+
dest_files=["res://.godot/imported/cold_color.png-210fff9bc7f9e391d44adb29f141a6a0.ctex3d"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/channel_pack=0
23+
mipmaps/generate=false
24+
mipmaps/limit=-1
25+
slices/horizontal=33
26+
slices/vertical=1
Loading

0 commit comments

Comments
 (0)