From 053756373ca5d7673a7c98ab3c21f24adbd1b6b6 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Thu, 23 Feb 2023 01:12:39 +0100 Subject: [PATCH] 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. --- 3d/tonemap_color_correction/README.md | 14 + .../example_luts/1d/detect_white_clipping.png | Bin 0 -> 4856 bytes .../1d/detect_white_clipping.png.import | 34 ++ .../example_luts/1d/frozen.png | Bin 0 -> 5072 bytes .../example_luts/1d/frozen.png.import | 34 ++ .../example_luts/1d/heat.png | Bin 0 -> 5081 bytes .../example_luts/1d/heat.png.import | 34 ++ .../example_luts/1d/incandescent.png | Bin 0 -> 5046 bytes .../example_luts/1d/incandescent.png.import | 34 ++ .../example_luts/1d/posterized.png | Bin 0 -> 4941 bytes .../example_luts/1d/posterized.png.import | 34 ++ .../example_luts/1d/posterized_outline.png | Bin 0 -> 5018 bytes .../1d/posterized_outline.png.import | 34 ++ .../example_luts/1d/rainbow.png | Bin 0 -> 5140 bytes .../example_luts/1d/rainbow.png.import | 34 ++ .../example_luts/1d/toxic.png | Bin 0 -> 4939 bytes .../example_luts/1d/toxic.png.import | 34 ++ .../example_luts/3d/brighten_shadows.png | Bin 0 -> 5634 bytes .../3d/brighten_shadows.png.import | 26 ++ .../example_luts/3d/burned_blue.png | Bin 0 -> 7550 bytes .../example_luts/3d/burned_blue.png.import | 26 ++ .../example_luts/3d/cold_color.png | Bin 0 -> 5586 bytes .../example_luts/3d/cold_color.png.import | 26 ++ .../example_luts/3d/detect_white_clipping.png | Bin 0 -> 5545 bytes .../3d/detect_white_clipping.png.import | 26 ++ .../example_luts/3d/dithered.png | Bin 0 -> 16742 bytes .../example_luts/3d/dithered.png.import | 26 ++ .../example_luts/3d/hue_shift.png | Bin 0 -> 8359 bytes .../example_luts/3d/hue_shift.png.import | 26 ++ .../example_luts/3d/posterized.png | Bin 0 -> 5555 bytes .../example_luts/3d/posterized.png.import | 26 ++ .../example_luts/3d/sepia.png | Bin 0 -> 14248 bytes .../example_luts/3d/sepia.png.import | 26 ++ .../example_luts/3d/stressed.png | Bin 0 -> 53885 bytes .../example_luts/3d/stressed.png.import | 26 ++ .../example_luts/3d/warm_color.png | Bin 0 -> 5547 bytes .../example_luts/3d/warm_color.png.import | 26 ++ .../example_luts/3d/yellowen.png | Bin 0 -> 6072 bytes .../example_luts/3d/yellowen.png.import | 26 ++ .../neutral_luts/1d/lut_neutral_1d.png | Bin 0 -> 575 bytes .../neutral_luts/1d/lut_neutral_1d.png.import | 34 ++ .../neutral_luts/3d/create_neutral_3d_luts.gd | 47 ++ .../3d/lut_neutral_17x17x17_horizontal.png | Bin 0 -> 167 bytes ...lut_neutral_17x17x17_horizontal.png.import | 26 ++ .../3d/lut_neutral_17x17x17_vertical.png | Bin 0 -> 201 bytes .../lut_neutral_17x17x17_vertical.png.import | 26 ++ .../3d/lut_neutral_33x33x33_horizontal.png | Bin 0 -> 305 bytes ...lut_neutral_33x33x33_horizontal.png.import | 26 ++ .../3d/lut_neutral_33x33x33_vertical.png | Bin 0 -> 572 bytes .../lut_neutral_33x33x33_vertical.png.import | 26 ++ .../3d/lut_neutral_51x51x51_horizontal.png | Bin 0 -> 674 bytes ...lut_neutral_51x51x51_horizontal.png.import | 26 ++ .../3d/lut_neutral_51x51x51_vertical.png | Bin 0 -> 2085 bytes .../lut_neutral_51x51x51_vertical.png.import | 26 ++ .../3d/lut_neutral_65x65x65_horizontal.png | Bin 0 -> 1115 bytes ...lut_neutral_65x65x65_horizontal.png.import | 26 ++ .../3d/lut_neutral_65x65x65_vertical.png | Bin 0 -> 3614 bytes .../lut_neutral_65x65x65_vertical.png.import | 26 ++ 3d/tonemap_color_correction/options.gd | 72 +++ 3d/tonemap_color_correction/project.godot | 30 ++ .../screenshots/.gdignore | 0 .../screenshots/tonemap_color_correction.webp | Bin 0 -> 192638 bytes 3d/tonemap_color_correction/test.tscn | 436 ++++++++++++++++++ 63 files changed, 1399 insertions(+) create mode 100644 3d/tonemap_color_correction/README.md create mode 100644 3d/tonemap_color_correction/example_luts/1d/detect_white_clipping.png create mode 100644 3d/tonemap_color_correction/example_luts/1d/detect_white_clipping.png.import create mode 100644 3d/tonemap_color_correction/example_luts/1d/frozen.png create mode 100644 3d/tonemap_color_correction/example_luts/1d/frozen.png.import create mode 100644 3d/tonemap_color_correction/example_luts/1d/heat.png create mode 100644 3d/tonemap_color_correction/example_luts/1d/heat.png.import create mode 100644 3d/tonemap_color_correction/example_luts/1d/incandescent.png create mode 100644 3d/tonemap_color_correction/example_luts/1d/incandescent.png.import create mode 100644 3d/tonemap_color_correction/example_luts/1d/posterized.png create mode 100644 3d/tonemap_color_correction/example_luts/1d/posterized.png.import create mode 100644 3d/tonemap_color_correction/example_luts/1d/posterized_outline.png create mode 100644 3d/tonemap_color_correction/example_luts/1d/posterized_outline.png.import create mode 100644 3d/tonemap_color_correction/example_luts/1d/rainbow.png create mode 100644 3d/tonemap_color_correction/example_luts/1d/rainbow.png.import create mode 100644 3d/tonemap_color_correction/example_luts/1d/toxic.png create mode 100644 3d/tonemap_color_correction/example_luts/1d/toxic.png.import create mode 100644 3d/tonemap_color_correction/example_luts/3d/brighten_shadows.png create mode 100644 3d/tonemap_color_correction/example_luts/3d/brighten_shadows.png.import create mode 100644 3d/tonemap_color_correction/example_luts/3d/burned_blue.png create mode 100644 3d/tonemap_color_correction/example_luts/3d/burned_blue.png.import create mode 100644 3d/tonemap_color_correction/example_luts/3d/cold_color.png create mode 100644 3d/tonemap_color_correction/example_luts/3d/cold_color.png.import create mode 100644 3d/tonemap_color_correction/example_luts/3d/detect_white_clipping.png create mode 100644 3d/tonemap_color_correction/example_luts/3d/detect_white_clipping.png.import create mode 100644 3d/tonemap_color_correction/example_luts/3d/dithered.png create mode 100644 3d/tonemap_color_correction/example_luts/3d/dithered.png.import create mode 100644 3d/tonemap_color_correction/example_luts/3d/hue_shift.png create mode 100644 3d/tonemap_color_correction/example_luts/3d/hue_shift.png.import create mode 100644 3d/tonemap_color_correction/example_luts/3d/posterized.png create mode 100644 3d/tonemap_color_correction/example_luts/3d/posterized.png.import create mode 100644 3d/tonemap_color_correction/example_luts/3d/sepia.png create mode 100644 3d/tonemap_color_correction/example_luts/3d/sepia.png.import create mode 100644 3d/tonemap_color_correction/example_luts/3d/stressed.png create mode 100644 3d/tonemap_color_correction/example_luts/3d/stressed.png.import create mode 100644 3d/tonemap_color_correction/example_luts/3d/warm_color.png create mode 100644 3d/tonemap_color_correction/example_luts/3d/warm_color.png.import create mode 100644 3d/tonemap_color_correction/example_luts/3d/yellowen.png create mode 100644 3d/tonemap_color_correction/example_luts/3d/yellowen.png.import create mode 100644 3d/tonemap_color_correction/neutral_luts/1d/lut_neutral_1d.png create mode 100644 3d/tonemap_color_correction/neutral_luts/1d/lut_neutral_1d.png.import create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/create_neutral_3d_luts.gd create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_17x17x17_horizontal.png create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_17x17x17_horizontal.png.import create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_17x17x17_vertical.png create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_17x17x17_vertical.png.import create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_33x33x33_horizontal.png create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_33x33x33_horizontal.png.import create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_33x33x33_vertical.png create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_33x33x33_vertical.png.import create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_horizontal.png create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_horizontal.png.import create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_vertical.png create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_vertical.png.import create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_horizontal.png create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_horizontal.png.import create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_vertical.png create mode 100644 3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_vertical.png.import create mode 100644 3d/tonemap_color_correction/options.gd create mode 100644 3d/tonemap_color_correction/project.godot create mode 100644 3d/tonemap_color_correction/screenshots/.gdignore create mode 100644 3d/tonemap_color_correction/screenshots/tonemap_color_correction.webp create mode 100644 3d/tonemap_color_correction/test.tscn diff --git a/3d/tonemap_color_correction/README.md b/3d/tonemap_color_correction/README.md new file mode 100644 index 0000000000..185fdd0e37 --- /dev/null +++ b/3d/tonemap_color_correction/README.md @@ -0,0 +1,14 @@ +# Tonemapping and Color Correction + +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. + +Language: GDScript + +Renderer: Forward Plus + +## Screenshots + +![Screenshot](screenshots/tonemap_color_correction.webp) diff --git a/3d/tonemap_color_correction/example_luts/1d/detect_white_clipping.png b/3d/tonemap_color_correction/example_luts/1d/detect_white_clipping.png new file mode 100644 index 0000000000000000000000000000000000000000..e8a165f9209675caa36a8d1903ace5370d956f16 GIT binary patch literal 4856 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 MeFJ>T<}P3JU-m>O(f|Me literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/example_luts/1d/detect_white_clipping.png.import b/3d/tonemap_color_correction/example_luts/1d/detect_white_clipping.png.import new file mode 100644 index 0000000000..5b4f349725 --- /dev/null +++ b/3d/tonemap_color_correction/example_luts/1d/detect_white_clipping.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8iyvvj75q6bd" +path="res://.godot/imported/detect_white_clipping.png-ff83ca2587cf6e3783223e00c5b42bce.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example_luts/1d/detect_white_clipping.png" +dest_files=["res://.godot/imported/detect_white_clipping.png-ff83ca2587cf6e3783223e00c5b42bce.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 diff --git a/3d/tonemap_color_correction/example_luts/1d/frozen.png b/3d/tonemap_color_correction/example_luts/1d/frozen.png new file mode 100644 index 0000000000000000000000000000000000000000..924951c777ed526a9f8ebf66f88b324292cec80a GIT binary patch literal 5072 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 literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/example_luts/1d/frozen.png.import b/3d/tonemap_color_correction/example_luts/1d/frozen.png.import new file mode 100644 index 0000000000..f72ef85e04 --- /dev/null +++ b/3d/tonemap_color_correction/example_luts/1d/frozen.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://3fu2y401e2wn" +path="res://.godot/imported/frozen.png-457f8ff344433e9f459b5caaede7bfab.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example_luts/1d/frozen.png" +dest_files=["res://.godot/imported/frozen.png-457f8ff344433e9f459b5caaede7bfab.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 diff --git a/3d/tonemap_color_correction/example_luts/1d/heat.png b/3d/tonemap_color_correction/example_luts/1d/heat.png new file mode 100644 index 0000000000000000000000000000000000000000..660882ba8b4fbdde530fe10fb0bf4a8b851f345d GIT binary patch literal 5081 zcmeHKc~DbV7Y`t^6ja;_6!jTIS-otF55arKMJ&(kkGBiXQ^K35YoD%s0+_{m;xKbKkk={O&ow zv*f-VA;BxGE$uA{1cEg`fEP+27=b0h$lMtGHY~dh5eOzbQo^I~P(%wURSF4~h(dU> z5`|D5CLs`X*Q+BEY8gw+hx=V?rx>k{nbvT)Hf^c*iW?sd4emXBV0(L|!0{&hWAOg> zo;7@mo=&`z=z87U6;+BThx9rfOhcym7c8FuHULpM_EXc=exx|{lFoi{)b1L zlDrYEZ&%bG&2Kz$Q^a=n+KY$eJ^s*uE~`_1GW`Pu?~mj@)}ff{&G7Y}pVallp+P5? z0%jQBc2;w!s_{Cz!q~HU8m_5n-s82U!SvYeJXgoXh0ABsGVaYPzgzTS(Y5<+gvKW( z{@E#8b{EfF2(_lnOWvIJ)b7Ca%#n)Wt|*(}_Mgue{V`gw#QWO={n$gvg$JolvDmJs z+|lxa0kr4Q@{Yp6Po#IWjj`Pcej`?XgF#Q$o^6L2!N0kf?A$#45yy(_?|;L&@EyCa z&pGU=OKEikOt<46mej_^MlDa6*;gD%Y#?z`4*G_u^Pg!lA zKE>)>(4icg)d-nKXnlK+Bc6NC+G>yM^eHX;MQIM$KX?(5_YdbO+TO!QuS6N^H#!d$rx&F%L#OH)Ze5$ciyBoV=<;h zit5U?___!!TN9OZH_7=VOWqpVmb(sXkB{rf_Tp-KzsQq+owUGHTzq=PeDrGN*(HLq z)}SzHA$t92+nb@XmX(2#>z$Ua(>y&;7kGygW`8cZp0V!u<4~UqnL^iL+nXJ?3HaRgGwb)({FqWT;24l}i~58U zv2tJS5so+z%Fi+mwkOyhYu_EeV46chJY+V5d7%RxOfGL&+e`SYxT0l6B3f81ZC{jX zs@QeB)cWnyrFHWJS*cep)sZ)BH`(rOB+=L}Ouv_B4H`5J^Ysnk`}#g_O3;c0soC6s zvu`^z#)kQ2XQa&ucc6zaxl>Hcst~>=+HSBnds)ea&BP+Wn<=O9;jN!k-@+<;xFL@nXIgM>f_(n%f#v zw;FvE-Bhs1>9=JKeKt4myptn+S~R2{I1KMJGRkH*S+y||Xu%`+{u^JuF|zC}F|6(=g+6@BUQhac~7JX{ghu;+eM_g9V4ZjsRs z3!iN(DQKwuUX$+_u)!v9547B8j#CcexbjGF#81G7_yff*Sk2;ztoGBP4o2vM?5rqqv8f~U7miHH(V z91@~ZOwJ|te|d@sVPY;Zk}04Hl)h*j7LcMs!%~97MJWj)SWNWxvh>t(0Dug|5lAOX zl&d*9F42I?0c*XOLWB$|cmkIgB?y6h6)F^BkQrnu$xnwR(TQG`kf%y4;e_)1$05KI zml%iRN)Cmh)oRIFcd|kyrO;p)rcmh=I-LYGNa|!cj_62owWA(l41 z$3%n*4bCMJ!9MidKbcY>n1Gk7$5{Y;P;`irLL*ZtG8tvEg&Oxu0wCiK{iB6C9Q@T# zLQ%CsqY|NhNvIrmoD3lrP1q|nszgILVi5&RL}fr#4Nj%KbmR)YAY{TqPk|JZDGgSD z?3XlgO!9)PmweOj7{ZzC2r!?(eM$Ry>;`3^B@l3U3Xw+d9-qf0>d)th6(UT`F)W2B zlSQY~-AObWA|f$7U@-}%i&-Q@#1JwW9uf&n#F_-fm#c9^E<*KC0Gx~g9CsG%Aw)gs zBnDIDL1LhE2?=H}XkY~cbQoq!5b-34RVoZrC6YMVD?OALKrvAUm4z}GBv>e9kQgu< zCJDt%CW(nkXfOkyx_i(KP+}3sU!jsAAf1>Dk)jl(Tx!_R6VCAo;d6;}GWCTdBoV^|m#J}n#& z3?LTK*C_xnSb$hKzA6;K6{>KBB9Tkfy9DViC$&-A_P@{FhTyPYF?kK!_^QKLs|@vgY;L!$gR`f1WHHvJfCpq9}ez4 zV|kWp>P0RiH iN%rrHEFOn@jl9K;%baD@$p*0#2zm- literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/example_luts/1d/heat.png.import b/3d/tonemap_color_correction/example_luts/1d/heat.png.import new file mode 100644 index 0000000000..8bdc8b4cbb --- /dev/null +++ b/3d/tonemap_color_correction/example_luts/1d/heat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://t3ag4e6j1i7n" +path="res://.godot/imported/heat.png-27bfc7c4ee7ae772dcd2e3b8c4e82264.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example_luts/1d/heat.png" +dest_files=["res://.godot/imported/heat.png-27bfc7c4ee7ae772dcd2e3b8c4e82264.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 diff --git a/3d/tonemap_color_correction/example_luts/1d/incandescent.png b/3d/tonemap_color_correction/example_luts/1d/incandescent.png new file mode 100644 index 0000000000000000000000000000000000000000..4d52fd7e443e85a9c1465ff3111d49ad96ac9482 GIT binary patch literal 5046 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 xmiQ?q{}Vyal5OqmT!U@2^kbqS|6j8i^ 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 Zi5$Ja?x$C6(*YSp8Zuo{J}F_*e*o4ra;yLV literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/example_luts/1d/posterized_outline.png.import b/3d/tonemap_color_correction/example_luts/1d/posterized_outline.png.import new file mode 100644 index 0000000000..086ea449e5 --- /dev/null +++ b/3d/tonemap_color_correction/example_luts/1d/posterized_outline.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cy3n57u6o0x5t" +path="res://.godot/imported/posterized_outline.png-a5caa8e602fc1e5b6e6b8ce44670a14d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example_luts/1d/posterized_outline.png" +dest_files=["res://.godot/imported/posterized_outline.png-a5caa8e602fc1e5b6e6b8ce44670a14d.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 diff --git a/3d/tonemap_color_correction/example_luts/1d/rainbow.png b/3d/tonemap_color_correction/example_luts/1d/rainbow.png new file mode 100644 index 0000000000000000000000000000000000000000..9940c3f93e366822cfc81d6fff242cdd53cb9f29 GIT binary patch literal 5140 zcmeHKdr(tX6Hg=pMZia)ii*Tw6^lu3Lf#N95;Q15gg}BK^ycO!M972W0s*9m2qG0l zD^(~(L2U&!R={digce1MQd+@US_O*qp;V~i3!(Cz1XP@_Gv7G#^*=L{%(;7Zf4loT zyPI=22L~;6u$yj&!{HnPgn|$p4iA<%yzMyfd)E7RA`WMDCPgg8Lf|B#POnv{;!q-% ztV4;YQKi7)j6WR-S5-3S+5X*e=;9QDK*!~Tp*9ikZ@tkzm`yEDaj7=_loM!kKdOIQ z$F&DDrqd319!f4hFsC}w@N3=IEiFIsLmD4FUW+wQ@Aov-N#9T;FZ6VKLU4`cbv*DW zojRQ4>m#oy|jVm|0d7{IDt`e(7HFb}l z5Vy?1Y!>2|?Zz$dS?P4k^>XvEft>Fp8ghBsoP00y%s>fC+j^#$JYX05 zPTv6a)_$t*QHSK%uI8eeJDuPle=SQwMWa|z5e|r-U+*RCs)FX-l@SI0vln0cSy#Z zzMv08754FSmed+NCe*4+SF3BTCfs9~7`BH4CoSRJJ39CvwBdLndGd|B>&mQ88#Hxc`BGsQO8%`M+IH8xIkIZ@HQT%0@Y^YSS; zPo@7;X<~Qq!IQrN8>_CNQ`$1P}`mJFclXviLUaO*-y>@R=jo`bpK^S6vj`Jpt zz1R9&{*N=Nx_5eMyIBh3wqWN*D1^<)WXaxzR>;=eZ|Ef^&CVU3pxHH$H)B}RZF0CV zar>b2iQ2{LKP6=yIeheFW)b1)i5=c0mty`33+M@n`7uLquwMW9g}8XMs^oU(cU)En zVSQOkR_F3BzYKRmS|=3fie_D3)yfOYQ;D{QUz#rY(?NJEJRq%GVTiGh^Iha?D|4Q8ziGY_{eq1ac_pZt_h_&XaDT6x`pAcVm^#LQF(Co zRW}<{p{JmkWLqP5a`#M+Y{z8u3?(8~zDDx1} z_WkuIPjTj-5^f$|Zbz2+aC$GCPTh7oX?-x&tLb(QzDV=`uNui$=w$8YB}*tg7WCziBTJA6BM4i4WL)@A65|Bxaa zx|neOCi~m*yT+Heuv*HKyP#vz800`+#P_W^pKW%p_%!rv{$1&>XU<1>N+SA8hO$bF z&sJVeC~_CRH+gwJaj~!S+dE#=R;}u`{o`kAifMIG zrA=fnE^|e8T%*Zp|NQR$x>>K8uVx7>PwOq6}54 zG<;Iu=~@y|CFheQOc5l~`Jpi?VTv9NO$ibsDX|DwPFl3k&d10D0BRJ2iAHst#=tZ3 zNfullSewOE649c9#qvo~Q83X@t4E0p3WEZX{f(+bI%%OD(MK;=@InMjMj^lxpA>^( zIv$mpl$1nC@}g+%@u@(l*KM{b82K0{>1~K?|qK2Rb zZGs*_{S#3Q<~|lejy$*5CFtWU>Btc(8i%TZssVVVz2tIffGGI6g_#1SO0Bb40kU7x z#8iqGWW5xddB>8@*g$~!bKIA-pXF{*23jH!PoPB-%;5zH_$0G`o?MHlQZT@Y zsN51Kz#7>?VqlFD1=C}+T%XBR|4<5$9A&cT3W)3lAzU&8fjMNELcs(j#pQ4zuw=lD zm(dMc1(pQsQC}tC5pV^{)4~or}k#K0>lzpk$T8(nrUUZ+qExCJGFm!(D5=O%y`tv7VS2m=mBaW{YQ#siBIfzSpE z5c%8uKF$U2Y=1P%?sp(^!ThC|pH^+YgX1h$LsU*oQeiPf^VLw2;W!m2RRsuq#U9OR z+kSSeC))eDYEs*V(-#~@@+aA1AIl@=IhIE*t9#Rkb0B%(O1%eWU+X@VdhIK(;xc^3 z?3gL7Z%?+h5udb6p>pf7J9WL3?83;pK*7-&RrQ~*d#k`!bmWr{dEZ5CG;aCv-pPLJ zA*s~VRT3yXmrlJZg@VxLONIM(uT0DH?{IRxv+N7%iUcQiNj38I+9w?!&T1c!T+tpX rXYtc-UQX-pJkDFU@M5Yl`dB&+j?N?`Pu~;?!p8;p2MJ7z-`nsXqaUey literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/example_luts/1d/rainbow.png.import b/3d/tonemap_color_correction/example_luts/1d/rainbow.png.import new file mode 100644 index 0000000000..dd1f94c3ef --- /dev/null +++ b/3d/tonemap_color_correction/example_luts/1d/rainbow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0y7x46bwdm8q" +path="res://.godot/imported/rainbow.png-3f78eb0d72b9b81b1fbcb63640e8b7c7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example_luts/1d/rainbow.png" +dest_files=["res://.godot/imported/rainbow.png-3f78eb0d72b9b81b1fbcb63640e8b7c7.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 diff --git a/3d/tonemap_color_correction/example_luts/1d/toxic.png b/3d/tonemap_color_correction/example_luts/1d/toxic.png new file mode 100644 index 0000000000000000000000000000000000000000..e05dd190ba8a25ffc81a0b3cd04f8aed66cc7d0f GIT binary patch literal 4939 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 SH&p~&AeQfJX1RBC@_zvZaD3VT literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/example_luts/3d/brighten_shadows.png.import b/3d/tonemap_color_correction/example_luts/3d/brighten_shadows.png.import new file mode 100644 index 0000000000..e933e8d791 --- /dev/null +++ b/3d/tonemap_color_correction/example_luts/3d/brighten_shadows.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://1e0vurlkfhcc" +path="res://.godot/imported/brighten_shadows.png-61280821ebde1ed825cfb67e480939d6.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example_luts/3d/brighten_shadows.png" +dest_files=["res://.godot/imported/brighten_shadows.png-61280821ebde1ed825cfb67e480939d6.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=33 +slices/vertical=1 diff --git a/3d/tonemap_color_correction/example_luts/3d/burned_blue.png b/3d/tonemap_color_correction/example_luts/3d/burned_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..905b663c4c9819f1a2d74baa00c9b32d84ee0884 GIT binary patch literal 7550 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 BVzK}L literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/example_luts/3d/cold_color.png.import b/3d/tonemap_color_correction/example_luts/3d/cold_color.png.import new file mode 100644 index 0000000000..17fad8ae63 --- /dev/null +++ b/3d/tonemap_color_correction/example_luts/3d/cold_color.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://b4jlxhcbyp0e8" +path="res://.godot/imported/cold_color.png-210fff9bc7f9e391d44adb29f141a6a0.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example_luts/3d/cold_color.png" +dest_files=["res://.godot/imported/cold_color.png-210fff9bc7f9e391d44adb29f141a6a0.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=33 +slices/vertical=1 diff --git a/3d/tonemap_color_correction/example_luts/3d/detect_white_clipping.png b/3d/tonemap_color_correction/example_luts/3d/detect_white_clipping.png new file mode 100644 index 0000000000000000000000000000000000000000..8df61d1f9145c05fd2481c1877626bf66faa0bc7 GIT binary patch literal 5545 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 literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/example_luts/3d/detect_white_clipping.png.import b/3d/tonemap_color_correction/example_luts/3d/detect_white_clipping.png.import new file mode 100644 index 0000000000..3e0eb3fcf2 --- /dev/null +++ b/3d/tonemap_color_correction/example_luts/3d/detect_white_clipping.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://buqiwm6kbrupc" +path="res://.godot/imported/detect_white_clipping.png-5e597e393d8905a1d4a3c347c8c9f065.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example_luts/3d/detect_white_clipping.png" +dest_files=["res://.godot/imported/detect_white_clipping.png-5e597e393d8905a1d4a3c347c8c9f065.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=33 +slices/vertical=1 diff --git a/3d/tonemap_color_correction/example_luts/3d/dithered.png b/3d/tonemap_color_correction/example_luts/3d/dithered.png new file mode 100644 index 0000000000000000000000000000000000000000..39259b971a438b48978dcd6607fb5a37c9a4b277 GIT binary patch literal 16742 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 P00000NkvXXu0mjf81NMI literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/example_luts/3d/dithered.png.import b/3d/tonemap_color_correction/example_luts/3d/dithered.png.import new file mode 100644 index 0000000000..e6e3ee2b23 --- /dev/null +++ b/3d/tonemap_color_correction/example_luts/3d/dithered.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://b422dlqu7vaap" +path="res://.godot/imported/dithered.png-20af5512e106e0d0d22dc6f2401670ba.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example_luts/3d/dithered.png" +dest_files=["res://.godot/imported/dithered.png-20af5512e106e0d0d22dc6f2401670ba.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=33 +slices/vertical=1 diff --git a/3d/tonemap_color_correction/example_luts/3d/hue_shift.png b/3d/tonemap_color_correction/example_luts/3d/hue_shift.png new file mode 100644 index 0000000000000000000000000000000000000000..1be59e8e8a028dcb9508883f82beeacb343c77dc GIT binary patch literal 8359 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 literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/example_luts/3d/posterized.png.import b/3d/tonemap_color_correction/example_luts/3d/posterized.png.import new file mode 100644 index 0000000000..f46c824417 --- /dev/null +++ b/3d/tonemap_color_correction/example_luts/3d/posterized.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://do3vr08hxucu1" +path="res://.godot/imported/posterized.png-44ac6ee9d7b1cdeeb7d89b28e8d80785.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example_luts/3d/posterized.png" +dest_files=["res://.godot/imported/posterized.png-44ac6ee9d7b1cdeeb7d89b28e8d80785.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=33 +slices/vertical=1 diff --git a/3d/tonemap_color_correction/example_luts/3d/sepia.png b/3d/tonemap_color_correction/example_luts/3d/sepia.png new file mode 100644 index 0000000000000000000000000000000000000000..617c399bddb13fd5b6d52ed8d25d90b3ba71b4fd GIT binary patch literal 14248 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 ATmS$7 literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/example_luts/3d/warm_color.png.import b/3d/tonemap_color_correction/example_luts/3d/warm_color.png.import new file mode 100644 index 0000000000..6631e19484 --- /dev/null +++ b/3d/tonemap_color_correction/example_luts/3d/warm_color.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://dsoc6y7s4jh1o" +path="res://.godot/imported/warm_color.png-d14ef9e5e700aed592bef8aba446a65c.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example_luts/3d/warm_color.png" +dest_files=["res://.godot/imported/warm_color.png-d14ef9e5e700aed592bef8aba446a65c.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=33 +slices/vertical=1 diff --git a/3d/tonemap_color_correction/example_luts/3d/yellowen.png b/3d/tonemap_color_correction/example_luts/3d/yellowen.png new file mode 100644 index 0000000000000000000000000000000000000000..0b9ac7e9b6758641c22ed71c63b060f4613d06a7 GIT binary patch literal 6072 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 Rh2q}~cjpzfqGcPm{U4Y!KN|o5 literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/example_luts/3d/yellowen.png.import b/3d/tonemap_color_correction/example_luts/3d/yellowen.png.import new file mode 100644 index 0000000000..082401043b --- /dev/null +++ b/3d/tonemap_color_correction/example_luts/3d/yellowen.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://billfphypqcrj" +path="res://.godot/imported/yellowen.png-3cb1221bb144a870704136f5b5a4b8fc.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example_luts/3d/yellowen.png" +dest_files=["res://.godot/imported/yellowen.png-3cb1221bb144a870704136f5b5a4b8fc.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=33 +slices/vertical=1 diff --git a/3d/tonemap_color_correction/neutral_luts/1d/lut_neutral_1d.png b/3d/tonemap_color_correction/neutral_luts/1d/lut_neutral_1d.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff1f4bd506cf727c309c12ae74ad37c522b2af9 GIT binary patch literal 575 zcmV-F0>J%=P)EX>4Tx04R}tkv&MmKpe$iQ$>-AgB4U9GE^t)pdya73Pq?8YK2xEOfLO`CJjl7 zi=*ILaPVWX>fqw6tAnc`2!4RLx;QDiNQwVT3N2zhIPS;0dyl(!fKV?p&FY8&nr@q^ zL|n{dSH-SZ2p9q|fdQFW#+)Q2;XA(W5#Z}xlxO*$`*ZZFIg0@SkvPT-(NhHT2N6r?HS^T7KVeNz_bzXf{MyxyAoIDG)p)K&5ZI5-5x z3Y5L>^X~5U-u^w)?C%GL405h}v-_(6000SaNLh0L04^f{04^f|c%?sf00007bV*G` z2j>DA05CJ~(wzzb000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}00006 zVoOIv0RI600RN!9r;`8x02oO`K~yNuV`OAv1OWyx90l|TqoF>a004kl0{`MBh6(@x N002ovPDHLkV1g#0?==7b literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/neutral_luts/1d/lut_neutral_1d.png.import b/3d/tonemap_color_correction/neutral_luts/1d/lut_neutral_1d.png.import new file mode 100644 index 0000000000..9d83e9ab58 --- /dev/null +++ b/3d/tonemap_color_correction/neutral_luts/1d/lut_neutral_1d.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwo7k84e3jyhn" +path="res://.godot/imported/lut_neutral_1d.png-74ab0b1ca495284805ebaec6de158513.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://neutral_luts/1d/lut_neutral_1d.png" +dest_files=["res://.godot/imported/lut_neutral_1d.png-74ab0b1ca495284805ebaec6de158513.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 diff --git a/3d/tonemap_color_correction/neutral_luts/3d/create_neutral_3d_luts.gd b/3d/tonemap_color_correction/neutral_luts/3d/create_neutral_3d_luts.gd new file mode 100644 index 0000000000..f92da97e0e --- /dev/null +++ b/3d/tonemap_color_correction/neutral_luts/3d/create_neutral_3d_luts.gd @@ -0,0 +1,47 @@ +# This script can be run from the script editor (File > Run or press Ctrl + Shift + X). +@tool +extends EditorScript + +## Creates a neutral 3D look-up texture (LUT), i.e. where the input color matches the output color exactly. +## Using a high-resolution neutral LUT texture in Environment's color correction property will not +## *visibly* appear rendering, even though the LUT is still sampled. +## Lower resolution neutral LUTs such as 17×17×17 and 33×33×33 will still somewhat impact rendering +## due to the limitations of bilinear filtering. +func create_neutral_lut(p_name: String, p_size: int, p_vertical: bool): + var image = Image.create_empty( + p_size if p_vertical else (p_size * p_size), + (p_size * p_size) if p_vertical else p_size, + false, + Image.FORMAT_RGB8 + ) + + for z in p_size: + var x_offset := int(z * p_size) if not p_vertical else 0 + var y_offset := int(z * p_size) if p_vertical else 0 + for x in p_size: + for y in p_size: + # Bias rounding by +0.2 to be more neutral, especially at lower resolutions + # (this bias is empirically determined). + image.set_pixel(x_offset + x, y_offset + y, Color8( + roundi(((x + 0.2) / float(p_size - 1)) * 255), + roundi(((y + 0.2) / float(p_size - 1)) * 255), + roundi(((z + 0.2) / float(p_size - 1)) * 255) + )) + + image.save_png("user://" + p_name + ".png") + + +func _run() -> void: + create_neutral_lut("lut_neutral_17x17x17_horizontal", 17, false) + create_neutral_lut("lut_neutral_33x33x33_horizontal", 33, false) + create_neutral_lut("lut_neutral_51x51x51_horizontal", 51, false) + create_neutral_lut("lut_neutral_65x65x65_horizontal", 65, false) + create_neutral_lut("lut_neutral_17x17x17_vertical", 17, true) + create_neutral_lut("lut_neutral_33x33x33_vertical", 33, true) + create_neutral_lut("lut_neutral_51x51x51_vertical", 51, true) + create_neutral_lut("lut_neutral_65x65x65_vertical", 65, true) + + # Open destination folder containing the generated LUT images. + # After importing the textures in a project, remember to change their import mode to Texture3D + # in the Import dock as well as the number of horizontal/vertical slices. + OS.shell_open(ProjectSettings.globalize_path("user://")) diff --git a/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_17x17x17_horizontal.png b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_17x17x17_horizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..b6828f747921a8a18471d2c786283fe47697fbb6 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0y~yU{nOM1v!|2q-;@dD3D?-4sv&5Sa(k5C6JTo>EalY zaqsO_L#_q`0oQ~2*}GM~+pk?ab%B7(OhwmOswy8&goPUKjC;K0ead;0q$lT2{J0qV z>!2p%wTluNJSJ=)EX54My^K=L>rKpTn0_30NNzaxVCu13$_Jd-pM(qBf7N}j1+pQ%aNTtZmdKI;Vst0Ebmiz5oCK literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_17x17x17_vertical.png.import b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_17x17x17_vertical.png.import new file mode 100644 index 0000000000..3bc2ffd13f --- /dev/null +++ b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_17x17x17_vertical.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://bguc5hh7slmlo" +path="res://.godot/imported/lut_neutral_17x17x17_vertical.png-6b846382386086e1e01f633db62d2c54.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://neutral_luts/3d/lut_neutral_17x17x17_vertical.png" +dest_files=["res://.godot/imported/lut_neutral_17x17x17_vertical.png-6b846382386086e1e01f633db62d2c54.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=1 +slices/vertical=17 diff --git a/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_33x33x33_horizontal.png b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_33x33x33_horizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..c60878d0df631479229c68664f75a081ce9bb771 GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0y~yU~vSp6*-uI9Vt1$cD5>LZ; z*qRR}7)bQ=_I_+G+-7US2j&7r7Z&EME0lmr^Yk9RU;$@u-cfi;PO2TG4rMIvposwK%mPP7rue{80;^Y z(b`0d$wQx<(T_5vQ g!)4i$ryrZC{?GXT{0~x_fysfv)78&qol`;+04O`lxc~qF literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_33x33x33_vertical.png.import b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_33x33x33_vertical.png.import new file mode 100644 index 0000000000..dc9fcdc00f --- /dev/null +++ b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_33x33x33_vertical.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://dvlp8mlgbkj3f" +path="res://.godot/imported/lut_neutral_33x33x33_vertical.png-69da577e0228b682d262506dd9d34706.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://neutral_luts/3d/lut_neutral_33x33x33_vertical.png" +dest_files=["res://.godot/imported/lut_neutral_33x33x33_vertical.png-69da577e0228b682d262506dd9d34706.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=1 +slices/vertical=33 diff --git a/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_horizontal.png b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_horizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..dab385de1bc050fd20edc4352da0f7cc49820486 GIT binary patch literal 674 zcmeAS@N?(olHy`uVBq!ia0y~y;L-%LjX9WrWcq`5H-Hplage(c!@6@aFBuq^Vmw_O zLn>~)y}fbOAqNrHi?ffP{qtXazaPu#-bEY4G+AaJX1SE}Y}dNi^D1qgzx@9C^Tzt} zXZd-Dd8$8eczlG%_>95fnxAuLB(_PW&CuU34C3>Ae)?UD7b3IQ>u_D}jk@O>=2io3 z27v_^<}pH8E4HLV7z|o(B_XVatmhUiP(h*Z_!N3ovq97?xJ0V5vOZ_16$*v#VHQ(h m-l#Vk5TSP~vK<<@4xjjUPcc2d<$K@~kcg+NpUXO@geCxUd7hO3 literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_horizontal.png.import b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_horizontal.png.import new file mode 100644 index 0000000000..48c6984353 --- /dev/null +++ b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_horizontal.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://cjusris28a85l" +path="res://.godot/imported/lut_neutral_51x51x51_horizontal.png-8c0264beb369c74c96ec75702926b34d.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://neutral_luts/3d/lut_neutral_51x51x51_horizontal.png" +dest_files=["res://.godot/imported/lut_neutral_51x51x51_horizontal.png-8c0264beb369c74c96ec75702926b34d.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=51 +slices/vertical=1 diff --git a/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_vertical.png b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..94faab5bec3bcf8e085785df12c9f3fca14506b5 GIT binary patch literal 2085 zcmeAS@N?(olHy`uVBq!ia0vp^#taNxnjB0(*5-dV&jBgM;vjb?hIQv;UNSJS-}iKJ z45_&F_O@Xbi=hasnN)DE#zm5yO}%yA0%pVWpKabp?Z5x|`TPI-Z`Oa0 zs@|LZjQ?irrpISa0D;MYnG=B^v%y#y2re_Ey8*#6#&bPyvTn+0|K4*=C0HFU*3;AD z!#qb42xhWb7#jfrZ$Vnh_EUSpcBiMjO7R7YY)}KsM@$B*UgHTi@0!Z%)VS4mjg3k- zVV4G5o;~TS(fX_JBxhPhqUnZ8gI#KRvg+o8>#vf1jY^BsQh-3}0S>Q}tv<7z7~^JM z&-&iuGZ*ewRNKIzG%IEAne46AZp-|xsbG}`xg)`MQ{1zyw``Sz)w3r--3rwWk%k6P zr2glqxAP{hoNRg$n=~~1)=aNlTXz1$m6Nl;o=m_Vyw^^ThCVESMnfNwjYre|XvqUC z-C-eobHK_GTU`pR&GM%D)~@}>^iM5zK9k{#L}0zo N;OXk;vd$@?2>>V7geU+2 literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_vertical.png.import b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_vertical.png.import new file mode 100644 index 0000000000..4f4f1098e6 --- /dev/null +++ b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_51x51x51_vertical.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://ba1x5yakt4nf5" +path="res://.godot/imported/lut_neutral_51x51x51_vertical.png-f3efa5a6b157d169d8f4cfd875ab3288.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://neutral_luts/3d/lut_neutral_51x51x51_vertical.png" +dest_files=["res://.godot/imported/lut_neutral_51x51x51_vertical.png-f3efa5a6b157d169d8f4cfd875ab3288.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=1 +slices/vertical=51 diff --git a/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_horizontal.png b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_horizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..e7e7c22932d4161f707538dfb3d9e8c910a0af7d GIT binary patch literal 1115 zcmeAS@N?(olHy`uVBq!ia0y~y5NHIl9XXhQ~)y}Ob3uz>)}!R0^yUVp>4r$HgzIAPU;6(QVni_e|2vHt$DS%04O=b5GlS%iHI zkcgIgza96QIMrq(5JTh}l$8Np00%#On;GF828IhJ5=cCTks_J0FnzZ)LdkH}yc hDbYRX{E43aKCt%rJO7t)keL8Vm7cDCF6*2UngBU|f$9JN literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_horizontal.png.import b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_horizontal.png.import new file mode 100644 index 0000000000..f6fa5a58c7 --- /dev/null +++ b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_horizontal.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://b6v8r3lbgudp" +path="res://.godot/imported/lut_neutral_65x65x65_horizontal.png-7323f7fab3f1e9e7ca4b9a33b86c3ea4.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://neutral_luts/3d/lut_neutral_65x65x65_horizontal.png" +dest_files=["res://.godot/imported/lut_neutral_65x65x65_horizontal.png-7323f7fab3f1e9e7ca4b9a33b86c3ea4.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=65 +slices/vertical=1 diff --git a/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_vertical.png b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..e02435c7e07f499680dcd1998614a43f9a784388 GIT binary patch literal 3614 zcmeAS@N?(olHy`uVBq!ia0vp^jtmR}jT}rsR{7#P89<7$ILO_JVcj{Imq0}~JY5_^ zDsH{K>&SK3K*ZT`_qV_2?^w6&YkI7Cv&^t&t&7XEImP`S-$eTV|8Y3IcjIxn<^Ls+ zfuFHXc>)3OWA#Jc_t`bubPNrU!JQkNCxn>sg2SF{(tMFg$mU<*+<{jMP|`Vn!@~)x zY{+14gEg|%*w|l2t%3#YXaFJ-$Y`>Fr3!NMRa_t^qDue( literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_vertical.png.import b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_vertical.png.import new file mode 100644 index 0000000000..c88f0508fb --- /dev/null +++ b/3d/tonemap_color_correction/neutral_luts/3d/lut_neutral_65x65x65_vertical.png.import @@ -0,0 +1,26 @@ +[remap] + +importer="3d_texture" +type="CompressedTexture3D" +uid="uid://be1s8u1ncylqn" +path="res://.godot/imported/lut_neutral_65x65x65_vertical.png-db5d2b7b9384014bf41fc04438963ab5.ctex3d" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://neutral_luts/3d/lut_neutral_65x65x65_vertical.png" +dest_files=["res://.godot/imported/lut_neutral_65x65x65_vertical.png-db5d2b7b9384014bf41fc04438963ab5.ctex3d"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=1 +slices/vertical=65 diff --git a/3d/tonemap_color_correction/options.gd b/3d/tonemap_color_correction/options.gd new file mode 100644 index 0000000000..e24141118f --- /dev/null +++ b/3d/tonemap_color_correction/options.gd @@ -0,0 +1,72 @@ +extends VBoxContainer + +@export var world_environment: WorldEnvironment + + +func _on_tonemap_mode_item_selected(index: int) -> void: + world_environment.environment.tonemap_mode = index as Environment.ToneMapper + # Hide whitepoint if not relevant (Linear tonemapping does not use a whitepoint). + %Whitepoint.visible = world_environment.environment.tonemap_mode != Environment.TONE_MAPPER_LINEAR + +func _on_exposure_value_changed(value: float) -> void: + world_environment.environment.tonemap_exposure = value + $TonemapMode/Exposure/Value.text = str(value).pad_decimals(1) + + +func _on_whitepoint_value_changed(value: float) -> void: + world_environment.environment.tonemap_white = value + $TonemapMode/Whitepoint/Value.text = str(value).pad_decimals(1) + + +func _on_color_correction_item_selected(index: int) -> void: + # Use alphabetical order in the `example_luts` folder. + match index: + 0: # None + world_environment.environment.adjustment_color_correction = null + 1: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/1d/detect_white_clipping.png") + 2: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/1d/frozen.png") + 3: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/1d/heat.png") + 4: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/1d/incandescent.png") + 5: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/1d/posterized.png") + 6: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/1d/posterized_outline.png") + 7: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/1d/rainbow.png") + 8: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/1d/toxic.png") + 9: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/3d/brighten_shadows.png") + 10: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/3d/burned_blue.png") + 11: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/3d/cold_color.png") + 12: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/3d/detect_white_clipping.png") + 13: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/3d/dithered.png") + 14: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/3d/hue_shift.png") + 15: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/3d/posterized.png") + 16: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/3d/sepia.png") + 17: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/3d/stressed.png") + 18: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/3d/warm_color.png") + 19: + world_environment.environment.adjustment_color_correction = preload("res://example_luts/3d/yellowen.png") + + +func _on_saturation_value_changed(value: float) -> void: + world_environment.environment.adjustment_saturation = value + $ColorCorrection/Saturation/Value.text = str(value).pad_decimals(1) + + +func _on_debanding_toggled(button_pressed: bool) -> void: + get_viewport().use_debanding = button_pressed diff --git a/3d/tonemap_color_correction/project.godot b/3d/tonemap_color_correction/project.godot new file mode 100644 index 0000000000..862db9b6bd --- /dev/null +++ b/3d/tonemap_color_correction/project.godot @@ -0,0 +1,30 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="Tonemapping and Color Correction" +config/description="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." +run/main_scene="res://test.tscn" +config/features=PackedStringArray("4.4") + +[display] + +window/stretch/mode="canvas_items" +window/stretch/aspect="expand" + +[rendering] + +textures/default_filters/anisotropic_filtering_level=4 +anti_aliasing/quality/msaa_3d=2 +anti_aliasing/quality/use_debanding=true diff --git a/3d/tonemap_color_correction/screenshots/.gdignore b/3d/tonemap_color_correction/screenshots/.gdignore new file mode 100644 index 0000000000..e69de29bb2 diff --git a/3d/tonemap_color_correction/screenshots/tonemap_color_correction.webp b/3d/tonemap_color_correction/screenshots/tonemap_color_correction.webp new file mode 100644 index 0000000000000000000000000000000000000000..a0f557c9333680f8b257f1b00ad8fc2355026e62 GIT binary patch literal 192638 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

?OU1bPWaC^>u@=X>K9b#|k2pJaO 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 literal 0 HcmV?d00001 diff --git a/3d/tonemap_color_correction/test.tscn b/3d/tonemap_color_correction/test.tscn new file mode 100644 index 0000000000..bdb4aa6c5f --- /dev/null +++ b/3d/tonemap_color_correction/test.tscn @@ -0,0 +1,436 @@ +[gd_scene load_steps=26 format=3 uid="uid://c364yor2q0j1a"] + +[ext_resource type="Script" path="res://options.gd" id="1_20y27"] + +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_y6uuk"] +sky_top_color = Color(0, 0, 0, 1) +sky_horizon_color = Color(0.1984, 0.242987, 0.32, 1) +ground_bottom_color = Color(0.156863, 0.160784, 0.2, 1) +ground_horizon_color = Color(0.156863, 0.160784, 0.2, 1) +sun_angle_max = 6.0 +sun_curve = 3.51379 + +[sub_resource type="Sky" id="Sky_lexvt"] +sky_material = SubResource("ProceduralSkyMaterial_y6uuk") + +[sub_resource type="Environment" id="Environment_lqw28"] +background_mode = 2 +sky = SubResource("Sky_lexvt") +tonemap_mode = 2 +tonemap_white = 6.0 +glow_enabled = true +glow_intensity = 0.09 +glow_blend_mode = 1 +fog_enabled = true +fog_density = 0.025 +fog_aerial_perspective = 1.0 +adjustment_enabled = true + +[sub_resource type="BoxMesh" id="BoxMesh_ff240"] +size = Vector3(512, 1, 512) + +[sub_resource type="Gradient" id="Gradient_sho7j"] +offsets = PackedFloat32Array(0.260163, 0.398374, 0.536585, 0.699187, 0.829268, 1) +colors = PackedColorArray(0.336608, 0.336608, 0.336608, 1, 0.589096, 0.589095, 0.589096, 1, 0.521141, 0.52114, 0.521141, 1, 0.762404, 0.762404, 0.762403, 1, 0.48179, 0.48179, 0.481789, 1, 1, 1, 1, 1) + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_dm8vr"] + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_hbgko"] +width = 1024 +height = 1024 +seamless = true +color_ramp = SubResource("Gradient_sho7j") +noise = SubResource("FastNoiseLite_dm8vr") + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_mq5hl"] + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_tdt10"] +width = 1024 +height = 1024 +seamless = true +as_normal_map = true +bump_strength = 10.0 +noise = SubResource("FastNoiseLite_mq5hl") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4ldfp"] +albedo_texture = SubResource("NoiseTexture2D_hbgko") +normal_enabled = true +normal_texture = SubResource("NoiseTexture2D_tdt10") +uv1_scale = Vector3(512, 256, 1) +texture_filter = 5 + +[sub_resource type="BoxMesh" id="BoxMesh_6wvpc"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_l4mxj"] +albedo_color = Color(0, 0, 0, 1) +emission_enabled = true +emission = Color(2, 1.5, 1, 1) + +[sub_resource type="SphereMesh" id="SphereMesh_qnmea"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kssqo"] +metallic = 1.0 +roughness = 0.0 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4geml"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3eq2w"] +metallic = 1.0 +roughness = 0.5 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_uqci1"] +albedo_color = Color(0.501961, 0.501961, 0.501961, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8sl4i"] +albedo_color = Color(0.501961, 0.501961, 0.501961, 1) +metallic = 1.0 +roughness = 0.5 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pauuc"] +albedo_color = Color(1, 0.25098, 0.25098, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8w4e2"] +albedo_color = Color(1, 0.25098, 0.25098, 1) +metallic = 1.0 +roughness = 0.5 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cb5og"] +albedo_color = Color(0.25098, 1, 0.25098, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ah8ww"] +albedo_color = Color(0.25098, 1, 0.25098, 1) +metallic = 1.0 +roughness = 0.5 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ako3b"] +albedo_color = Color(0.25098, 0.25098, 1, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_suuj5"] +albedo_color = Color(0.25098, 0.25098, 1, 1) +metallic = 1.0 +roughness = 0.5 + +[node name="Node3D" type="Node3D"] + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.866126, 0.13782, -0.480448, 0.0352591, 0.941991, 0.333781, 0.49858, -0.306037, 0.811024, -2.58974, 2.10013, -4.66397) +light_color = Color(0.776471, 0.917647, 1, 1) +light_energy = 0.4 +shadow_enabled = true +shadow_bias = 0.04 +shadow_blur = 2.0 +directional_shadow_mode = 0 +directional_shadow_fade_start = 1.0 +directional_shadow_max_distance = 12.0 + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_lqw28") + +[node name="Ground" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, -0.4, 1) +mesh = SubResource("BoxMesh_ff240") +surface_material_override/0 = SubResource("StandardMaterial3D_4ldfp") + +[node name="Testers" type="Node3D" parent="."] + +[node name="GlowingBox" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0.5, 0) +mesh = SubResource("BoxMesh_6wvpc") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_l4mxj") + +[node name="OmniLight3D" type="OmniLight3D" parent="Testers/GlowingBox"] +light_energy = 2.0 +shadow_blur = 2.0 + +[node name="GlowingSphere" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 1.5, 0) +mesh = SubResource("SphereMesh_qnmea") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_l4mxj") + +[node name="OmniLight3D" type="OmniLight3D" parent="Testers/GlowingSphere"] +light_energy = 2.0 +shadow_blur = 2.0 + +[node name="MirrorSphere" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 2.5, -1) +mesh = SubResource("SphereMesh_qnmea") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_kssqo") + +[node name="WhiteBox" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0.5, 0) +mesh = SubResource("BoxMesh_6wvpc") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_4geml") + +[node name="WhiteSphere" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, 0) +mesh = SubResource("SphereMesh_qnmea") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_4geml") + +[node name="WhiteMetallicSphere" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 2.5, -1) +mesh = SubResource("SphereMesh_qnmea") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_3eq2w") + +[node name="GrayBox" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.5, 0) +mesh = SubResource("BoxMesh_6wvpc") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_uqci1") + +[node name="GraySphere" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 1.5, 0) +mesh = SubResource("SphereMesh_qnmea") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_uqci1") + +[node name="GrayMetallicSphere" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 2.5, -1) +mesh = SubResource("SphereMesh_qnmea") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_8sl4i") + +[node name="RedBox" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0.5, 0) +mesh = SubResource("BoxMesh_6wvpc") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_pauuc") + +[node name="RedSphere" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1.5, 0) +mesh = SubResource("SphereMesh_qnmea") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_pauuc") + +[node name="RedMetallicSphere" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 2.5, -1) +mesh = SubResource("SphereMesh_qnmea") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_8w4e2") + +[node name="GreenBox" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0) +mesh = SubResource("BoxMesh_6wvpc") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_cb5og") + +[node name="GreenSphere" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) +mesh = SubResource("SphereMesh_qnmea") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_cb5og") + +[node name="GreenMetallicSphere" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.5, -1) +mesh = SubResource("SphereMesh_qnmea") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_ah8ww") + +[node name="BlueBox" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.5, 0) +mesh = SubResource("BoxMesh_6wvpc") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_ako3b") + +[node name="BlueSphere" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1.5, 0) +mesh = SubResource("SphereMesh_qnmea") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_ako3b") + +[node name="BlueMetallicSphere" type="MeshInstance3D" parent="Testers"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2.5, -1) +mesh = SubResource("SphereMesh_qnmea") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_suuj5") + +[node name="Camera3D" type="Camera3D" parent="."] +transform = Transform3D(0.942327, -0.0710023, 0.327076, 6.57846e-09, 0.977239, 0.212141, -0.334694, -0.199906, 0.920879, 0.669204, 2.35, 4.04922) +fov = 50.0 + +[node name="ReflectionProbe" type="ReflectionProbe" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 2, 0) +size = Vector3(512, 512, 512) +enable_shadows = true + +[node name="Options" type="VBoxContainer" parent="." node_paths=PackedStringArray("world_environment")] +offset_left = 16.0 +offset_top = 16.0 +offset_right = 576.0 +offset_bottom = 82.0 +script = ExtResource("1_20y27") +world_environment = NodePath("../WorldEnvironment") + +[node name="TonemapMode" type="HBoxContainer" parent="Options"] +layout_mode = 2 +theme_override_constants/separation = 15 + +[node name="Label" type="Label" parent="Options/TonemapMode"] +layout_mode = 2 +text = "Tonemap Mode" + +[node name="OptionButton" type="OptionButton" parent="Options/TonemapMode"] +layout_mode = 2 +item_count = 4 +selected = 2 +popup/item_0/text = "Linear" +popup/item_0/id = 0 +popup/item_1/text = "Reinhard" +popup/item_1/id = 1 +popup/item_2/text = "Filmic" +popup/item_2/id = 2 +popup/item_3/text = "ACES" +popup/item_3/id = 3 + +[node name="Exposure" type="HBoxContainer" parent="Options/TonemapMode"] +unique_name_in_owner = true +custom_minimum_size = Vector2(250, 0) +layout_mode = 2 +theme_override_constants/separation = 10 + +[node name="Label" type="Label" parent="Options/TonemapMode/Exposure"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Exposure" +horizontal_alignment = 2 + +[node name="HSlider" type="HSlider" parent="Options/TonemapMode/Exposure"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +min_value = 0.1 +max_value = 5.0 +step = 0.1 +value = 1.0 + +[node name="Value" type="Label" parent="Options/TonemapMode/Exposure"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_stretch_ratio = 0.4 +text = "1.0" + +[node name="Whitepoint" type="HBoxContainer" parent="Options/TonemapMode"] +unique_name_in_owner = true +custom_minimum_size = Vector2(250, 0) +layout_mode = 2 +theme_override_constants/separation = 10 + +[node name="Label" type="Label" parent="Options/TonemapMode/Whitepoint"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Whitepoint" +horizontal_alignment = 2 + +[node name="HSlider" type="HSlider" parent="Options/TonemapMode/Whitepoint"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +min_value = 0.1 +max_value = 16.0 +step = 0.1 +value = 1.0 + +[node name="Value" type="Label" parent="Options/TonemapMode/Whitepoint"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_stretch_ratio = 0.4 +text = "6.0" + +[node name="ColorCorrection" type="HBoxContainer" parent="Options"] +layout_mode = 2 +theme_override_constants/separation = 15 + +[node name="Label" type="Label" parent="Options/ColorCorrection"] +layout_mode = 2 +text = "Color Correction" + +[node name="OptionButton" type="OptionButton" parent="Options/ColorCorrection"] +layout_mode = 2 +item_count = 20 +selected = 0 +popup/item_0/text = "None" +popup/item_0/id = 0 +popup/item_1/text = "Detect White Clipping (1D)" +popup/item_1/id = 1 +popup/item_2/text = "Frozen (1D)" +popup/item_2/id = 2 +popup/item_3/text = "Heat (1D)" +popup/item_3/id = 3 +popup/item_4/text = "Incandescent (1D)" +popup/item_4/id = 4 +popup/item_5/text = "Posterized (1D)" +popup/item_5/id = 5 +popup/item_6/text = "Posterized Outline (1D)" +popup/item_6/id = 6 +popup/item_7/text = "Rainbow (1D)" +popup/item_7/id = 7 +popup/item_8/text = "Toxic (1D)" +popup/item_8/id = 8 +popup/item_9/text = "Brighten Shadows (3D)" +popup/item_9/id = 9 +popup/item_10/text = "Burned Blue (3D)" +popup/item_10/id = 10 +popup/item_11/text = "Cold Color (3D)" +popup/item_11/id = 11 +popup/item_12/text = "Detect White Clipping (3D)" +popup/item_12/id = 12 +popup/item_13/text = "Dithered (3D)" +popup/item_13/id = 13 +popup/item_14/text = "Hue Shift (3D)" +popup/item_14/id = 14 +popup/item_15/text = "Posterized (3D)" +popup/item_15/id = 15 +popup/item_16/text = "Sepia (3D)" +popup/item_16/id = 16 +popup/item_17/text = "Stressed (3D)" +popup/item_17/id = 17 +popup/item_18/text = "Warm Color (3D)" +popup/item_18/id = 18 +popup/item_19/text = "Yellowed (3D)" +popup/item_19/id = 19 + +[node name="Saturation" type="HBoxContainer" parent="Options/ColorCorrection"] +unique_name_in_owner = true +custom_minimum_size = Vector2(250, 0) +layout_mode = 2 +theme_override_constants/separation = 10 + +[node name="Label" type="Label" parent="Options/ColorCorrection/Saturation"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Saturation" +horizontal_alignment = 2 + +[node name="HSlider" type="HSlider" parent="Options/ColorCorrection/Saturation"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +min_value = -2.0 +max_value = 2.0 +step = 0.1 +value = 1.0 +tick_count = 3 + +[node name="Value" type="Label" parent="Options/ColorCorrection/Saturation"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_stretch_ratio = 0.4 +text = "1.0" + +[node name="Debanding" type="CheckButton" parent="Options"] +layout_mode = 2 +size_flags_horizontal = 0 +button_pressed = true +text = "Debanding" + +[connection signal="item_selected" from="Options/TonemapMode/OptionButton" to="Options" method="_on_tonemap_mode_item_selected"] +[connection signal="value_changed" from="Options/TonemapMode/Exposure/HSlider" to="Options" method="_on_exposure_value_changed"] +[connection signal="value_changed" from="Options/TonemapMode/Whitepoint/HSlider" to="Options" method="_on_whitepoint_value_changed"] +[connection signal="item_selected" from="Options/ColorCorrection/OptionButton" to="Options" method="_on_color_correction_item_selected"] +[connection signal="value_changed" from="Options/ColorCorrection/Saturation/HSlider" to="Options" method="_on_saturation_value_changed"] +[connection signal="toggled" from="Options/Debanding" to="Options" method="_on_debanding_toggled"]