v0.5
This commit is contained in:
parent
68917d081a
commit
537926b050
|
|
@ -0,0 +1,341 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="FlareLayer.svg"
|
||||
inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs8"><linearGradient
|
||||
id="linearGradient3"
|
||||
inkscape:collect="never"><stop
|
||||
style="stop-color:#d83636;stop-opacity:0.83529412;"
|
||||
offset="0.2804164"
|
||||
id="stop6" /><stop
|
||||
style="stop-color:#d83636;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop5" /></linearGradient><linearGradient
|
||||
id="linearGradient2"
|
||||
inkscape:collect="never"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop2" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient3601"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3597" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3599" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient1387"><stop
|
||||
style="stop-color:#f70000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1365" /><stop
|
||||
style="stop-color:#fa7207;stop-opacity:1;"
|
||||
offset="0.15848443"
|
||||
id="stop1367" /><stop
|
||||
style="stop-color:#ffce12;stop-opacity:1;"
|
||||
offset="0.30084926"
|
||||
id="stop1369" /><stop
|
||||
style="stop-color:#a1e00a;stop-opacity:1;"
|
||||
offset="0.37199998"
|
||||
id="stop1371" /><stop
|
||||
style="stop-color:#24f800;stop-opacity:1;"
|
||||
offset="0.44346777"
|
||||
id="stop1373" /><stop
|
||||
style="stop-color:#1beda1;stop-opacity:1;"
|
||||
offset="0.51599997"
|
||||
id="stop1375" /><stop
|
||||
style="stop-color:#18e9e9;stop-opacity:1;"
|
||||
offset="0.56800002"
|
||||
id="stop1377" /><stop
|
||||
style="stop-color:#1e97ff;stop-opacity:1;"
|
||||
offset="0.64159107"
|
||||
id="stop1379" /><stop
|
||||
style="stop-color:#272eff;stop-opacity:1;"
|
||||
offset="0.73000002"
|
||||
id="stop1381" /><stop
|
||||
style="stop-color:#f604ff;stop-opacity:1;"
|
||||
offset="0.86199999"
|
||||
id="stop1383" /><stop
|
||||
style="stop-color:#000000;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop1385" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient1237"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1233" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop1235" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient1229"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1225" /><stop
|
||||
style="stop-color:#000000;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop1227" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient13704"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop13700" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop13702" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient10604"><stop
|
||||
style="stop-color:#18e9e8;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop10600" /><stop
|
||||
style="stop-color:#18e9e8;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop10602" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient1024"><stop
|
||||
style="stop-color:#f70000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1020" /><stop
|
||||
style="stop-color:#fa7207;stop-opacity:1;"
|
||||
offset="0.15848443"
|
||||
id="stop1149" /><stop
|
||||
style="stop-color:#ffce12;stop-opacity:1;"
|
||||
offset="0.30084926"
|
||||
id="stop1096" /><stop
|
||||
style="stop-color:#a1e00a;stop-opacity:1;"
|
||||
offset="0.37199998"
|
||||
id="stop1153" /><stop
|
||||
style="stop-color:#24f800;stop-opacity:1;"
|
||||
offset="0.44346777"
|
||||
id="stop1092" /><stop
|
||||
style="stop-color:#1beda1;stop-opacity:1;"
|
||||
offset="0.51599997"
|
||||
id="stop1151" /><stop
|
||||
style="stop-color:#18e9e9;stop-opacity:1;"
|
||||
offset="0.56800002"
|
||||
id="stop1098" /><stop
|
||||
style="stop-color:#1e97ff;stop-opacity:1;"
|
||||
offset="0.64159107"
|
||||
id="stop1155" /><stop
|
||||
style="stop-color:#272eff;stop-opacity:1;"
|
||||
offset="0.73000002"
|
||||
id="stop1094" /><stop
|
||||
style="stop-color:#f604ff;stop-opacity:1;"
|
||||
offset="0.86199999"
|
||||
id="stop1100" /><stop
|
||||
style="stop-color:#ff0202;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop1022" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient3074"><stop
|
||||
style="stop-color:#e26708;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3070" /><stop
|
||||
style="stop-color:#bb3c00;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3072" /></linearGradient><radialGradient
|
||||
xlink:href="#linearGradient45008"
|
||||
id="radialGradient3076"
|
||||
cx="30.688875"
|
||||
cy="30.069115"
|
||||
fx="30.688875"
|
||||
fy="30.069115"
|
||||
r="14.05412"
|
||||
gradientUnits="userSpaceOnUse" /><linearGradient
|
||||
xlink:href="#linearGradient45008"
|
||||
id="linearGradient45010"
|
||||
x1="-31.87768"
|
||||
y1="22.065159"
|
||||
x2="-31.87768"
|
||||
y2="48.78738"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(101.16951,-6.5921995)" /><linearGradient
|
||||
id="linearGradient45008"><stop
|
||||
style="stop-color:#e14500;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop45004" /><stop
|
||||
style="stop-color:#e17900;stop-opacity:1;"
|
||||
offset="0.59811592"
|
||||
id="stop45012" /><stop
|
||||
style="stop-color:#e19c00;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop45006" /></linearGradient><linearGradient
|
||||
xlink:href="#linearGradient45008"
|
||||
id="linearGradient46715"
|
||||
x1="31.917692"
|
||||
y1="47.524929"
|
||||
x2="31.917692"
|
||||
y2="22.632998"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(1.7923447e-6)" /><linearGradient
|
||||
inkscape:collect="never"
|
||||
xlink:href="#linearGradient1024"
|
||||
id="linearGradient1026"
|
||||
x1="20.242241"
|
||||
y1="33.851089"
|
||||
x2="37.684772"
|
||||
y2="46.330421"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0816006,0,0,1.0816006,-2.5901136,-2.8438444)" /><linearGradient
|
||||
xlink:href="#linearGradient1024"
|
||||
id="linearGradient10606"
|
||||
x1="13.452065"
|
||||
y1="32.650345"
|
||||
x2="48.054203"
|
||||
y2="44.499554"
|
||||
gradientUnits="userSpaceOnUse" /><linearGradient
|
||||
inkscape:collect="never"
|
||||
xlink:href="#linearGradient13704"
|
||||
id="linearGradient13706"
|
||||
x1="18.869927"
|
||||
y1="34.850642"
|
||||
x2="44.631165"
|
||||
y2="34.850642"
|
||||
gradientUnits="userSpaceOnUse" /><radialGradient
|
||||
xlink:href="#linearGradient73856"
|
||||
id="radialGradient73858"
|
||||
cx="30.094763"
|
||||
cy="30.901455"
|
||||
fx="30.094763"
|
||||
fy="30.901455"
|
||||
r="11.518468"
|
||||
gradientTransform="matrix(1.9666691,0,0,2.2620107,-3.8943114,-30.031019)"
|
||||
gradientUnits="userSpaceOnUse" /><linearGradient
|
||||
id="linearGradient73856"><stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop73852" /><stop
|
||||
style="stop-color:#f7f8f9;stop-opacity:1;"
|
||||
offset="0.15093437"
|
||||
id="stop77494" /><stop
|
||||
style="stop-color:#ccd0d6;stop-opacity:1;"
|
||||
offset="0.53578031"
|
||||
id="stop73860" /><stop
|
||||
style="stop-color:#516499;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop73854" /></linearGradient><linearGradient
|
||||
xlink:href="#linearGradient77490"
|
||||
id="linearGradient77492"
|
||||
x1="15.632637"
|
||||
y1="25.657946"
|
||||
x2="36.755505"
|
||||
y2="51.227448"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.86580682,0,0,0.86580682,29.854566,16.268675)" /><linearGradient
|
||||
id="linearGradient77490"><stop
|
||||
style="stop-color:#62697d;stop-opacity:0.4700855;"
|
||||
offset="0"
|
||||
id="stop77486" /><stop
|
||||
style="stop-color:#9f9f9f;stop-opacity:0.49019608;"
|
||||
offset="0.30279347"
|
||||
id="stop36247" /><stop
|
||||
style="stop-color:#444a5a;stop-opacity:0.50196078;"
|
||||
offset="0.47589374"
|
||||
id="stop36239" /><stop
|
||||
style="stop-color:#393e4d;stop-opacity:0.50980392;"
|
||||
offset="0.64751673"
|
||||
id="stop36245" /><stop
|
||||
style="stop-color:#6b7695;stop-opacity:0.52156866;"
|
||||
offset="0.76340932"
|
||||
id="stop36241" /><stop
|
||||
style="stop-color:#2e323f;stop-opacity:0.5254902;"
|
||||
offset="0.83444887"
|
||||
id="stop36243" /><stop
|
||||
style="stop-color:#252834;stop-opacity:0.54131055;"
|
||||
offset="1"
|
||||
id="stop77488" /></linearGradient><linearGradient
|
||||
xlink:href="#linearGradient1229"
|
||||
id="linearGradient1231"
|
||||
x1="50.526161"
|
||||
y1="37.883831"
|
||||
x2="67.256447"
|
||||
y2="53.176914"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
inkscape:collect="never"
|
||||
gradientTransform="matrix(1.2173809,0,0,1.2173809,6.9577154,-23.917781)" /><linearGradient
|
||||
xlink:href="#linearGradient1387"
|
||||
id="linearGradient1239"
|
||||
x1="50.526161"
|
||||
y1="37.883831"
|
||||
x2="67.256447"
|
||||
y2="53.176914"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.2173809,0,0,1.2173809,6.9577154,-23.917781)" /><linearGradient
|
||||
xlink:href="#linearGradient1024"
|
||||
id="linearGradient3603"
|
||||
x1="26.842001"
|
||||
y1="27.440641"
|
||||
x2="43.276413"
|
||||
y2="45.617104"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-3.6320054,-0.42729918)" /><radialGradient
|
||||
inkscape:collect="never"
|
||||
xlink:href="#linearGradient2"
|
||||
id="radialGradient3"
|
||||
cx="47.831398"
|
||||
cy="2.4104715"
|
||||
fx="47.831398"
|
||||
fy="2.4104715"
|
||||
r="15.008372"
|
||||
gradientUnits="userSpaceOnUse" /><radialGradient
|
||||
inkscape:collect="never"
|
||||
xlink:href="#linearGradient3"
|
||||
id="radialGradient5"
|
||||
cx="32.117443"
|
||||
cy="35.526367"
|
||||
fx="32.117443"
|
||||
fy="35.526367"
|
||||
r="13.498731"
|
||||
gradientTransform="matrix(1,0,0,1.0568721,1.7923447e-6,-2.0204599)"
|
||||
gradientUnits="userSpaceOnUse" /></defs><sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
showgrid="false"
|
||||
inkscape:zoom="8.0000004"
|
||||
inkscape:cx="-15.624999"
|
||||
inkscape:cy="20.562499"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g2210"
|
||||
showguides="false" /><g
|
||||
id="g2210"
|
||||
transform="matrix(0.54328517,0,0,0.54328517,-9.4489315,-11.300948)"><ellipse
|
||||
style="opacity:1;fill:#9f2f55;fill-opacity:0.771966;stroke-width:2.99955;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:3.6;paint-order:stroke fill markers"
|
||||
id="path1"
|
||||
cx="32.117443"
|
||||
cy="35.526367"
|
||||
rx="14.032981"
|
||||
ry="14.831065" /><path
|
||||
id="path2"
|
||||
style="opacity:1;fill:#f2c1c1;fill-opacity:1;stroke-width:3.68130792;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:3.6;paint-order:stroke fill markers;stroke:#f23434;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="M 32.952673 2.168975 A 15.00837 1.8457839 0 0 0 32.823027 2.4104715 A 15.00837 1.8457839 0 0 0 42.121913 4.1187413 A 5.7860374 6.1179051 45 0 0 43.710705 7.4513927 A 5.7860374 6.1179051 45 0 0 46.163801 8.8724088 A 15.00837 1.8457839 90 0 0 47.831398 17.418842 A 15.00837 1.8457839 90 0 0 49.504078 8.806315 A 5.7860374 6.1179051 45 0 0 52.130035 7.2175224 A 5.7860374 6.1179051 45 0 0 53.848473 4.1009468 A 15.00837 1.8457839 0 0 0 62.839768 2.4104715 A 15.00837 1.8457839 0 0 0 53.606977 0.70728585 A 5.7860374 6.1179051 45 0 0 52.363905 -1.2018073 A 5.7860374 6.1179051 45 0 0 49.565088 -2.7041696 A 15.00837 1.8457839 90 0 0 47.831398 -12.597899 A 15.00837 1.8457839 90 0 0 46.082455 -2.3787849 A 5.7860374 6.1179051 45 0 0 43.947118 -0.965395 A 5.7860374 6.1179051 45 0 0 42.75743 0.67169689 A 15.00837 1.8457839 0 0 0 32.952673 2.168975 z "
|
||||
transform="rotate(45)" /><ellipse
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.68131;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:3.6;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="path3"
|
||||
cx="31.649044"
|
||||
cy="35.854084"
|
||||
rx="4.0199261"
|
||||
ry="4.2035775" /></g></svg>
|
||||
|
After Width: | Height: | Size: 13 KiB |
|
|
@ -0,0 +1,43 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dwi8fojg2liiy"
|
||||
path="res://.godot/imported/FlareLayer.svg-e1353f58817cb61a716788afff27f399.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/rokojori_action_library/Icons/FlareLayer.svg"
|
||||
dest_files=["res://.godot/imported/FlareLayer.svg-e1353f58817cb61a716788afff27f399.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
|
@ -0,0 +1,341 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="FlarePreset.svg"
|
||||
inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs8"><linearGradient
|
||||
id="linearGradient3"
|
||||
inkscape:collect="never"><stop
|
||||
style="stop-color:#d83636;stop-opacity:0.83529412;"
|
||||
offset="0.2804164"
|
||||
id="stop6" /><stop
|
||||
style="stop-color:#d83636;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop5" /></linearGradient><linearGradient
|
||||
id="linearGradient2"
|
||||
inkscape:collect="never"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop2" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient3601"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3597" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3599" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient1387"><stop
|
||||
style="stop-color:#f70000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1365" /><stop
|
||||
style="stop-color:#fa7207;stop-opacity:1;"
|
||||
offset="0.15848443"
|
||||
id="stop1367" /><stop
|
||||
style="stop-color:#ffce12;stop-opacity:1;"
|
||||
offset="0.30084926"
|
||||
id="stop1369" /><stop
|
||||
style="stop-color:#a1e00a;stop-opacity:1;"
|
||||
offset="0.37199998"
|
||||
id="stop1371" /><stop
|
||||
style="stop-color:#24f800;stop-opacity:1;"
|
||||
offset="0.44346777"
|
||||
id="stop1373" /><stop
|
||||
style="stop-color:#1beda1;stop-opacity:1;"
|
||||
offset="0.51599997"
|
||||
id="stop1375" /><stop
|
||||
style="stop-color:#18e9e9;stop-opacity:1;"
|
||||
offset="0.56800002"
|
||||
id="stop1377" /><stop
|
||||
style="stop-color:#1e97ff;stop-opacity:1;"
|
||||
offset="0.64159107"
|
||||
id="stop1379" /><stop
|
||||
style="stop-color:#272eff;stop-opacity:1;"
|
||||
offset="0.73000002"
|
||||
id="stop1381" /><stop
|
||||
style="stop-color:#f604ff;stop-opacity:1;"
|
||||
offset="0.86199999"
|
||||
id="stop1383" /><stop
|
||||
style="stop-color:#000000;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop1385" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient1237"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1233" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop1235" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient1229"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1225" /><stop
|
||||
style="stop-color:#000000;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop1227" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient13704"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop13700" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop13702" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient10604"><stop
|
||||
style="stop-color:#18e9e8;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop10600" /><stop
|
||||
style="stop-color:#18e9e8;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop10602" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient1024"><stop
|
||||
style="stop-color:#f70000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1020" /><stop
|
||||
style="stop-color:#fa7207;stop-opacity:1;"
|
||||
offset="0.15848443"
|
||||
id="stop1149" /><stop
|
||||
style="stop-color:#ffce12;stop-opacity:1;"
|
||||
offset="0.30084926"
|
||||
id="stop1096" /><stop
|
||||
style="stop-color:#a1e00a;stop-opacity:1;"
|
||||
offset="0.37199998"
|
||||
id="stop1153" /><stop
|
||||
style="stop-color:#24f800;stop-opacity:1;"
|
||||
offset="0.44346777"
|
||||
id="stop1092" /><stop
|
||||
style="stop-color:#1beda1;stop-opacity:1;"
|
||||
offset="0.51599997"
|
||||
id="stop1151" /><stop
|
||||
style="stop-color:#18e9e9;stop-opacity:1;"
|
||||
offset="0.56800002"
|
||||
id="stop1098" /><stop
|
||||
style="stop-color:#1e97ff;stop-opacity:1;"
|
||||
offset="0.64159107"
|
||||
id="stop1155" /><stop
|
||||
style="stop-color:#272eff;stop-opacity:1;"
|
||||
offset="0.73000002"
|
||||
id="stop1094" /><stop
|
||||
style="stop-color:#f604ff;stop-opacity:1;"
|
||||
offset="0.86199999"
|
||||
id="stop1100" /><stop
|
||||
style="stop-color:#ff0202;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop1022" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient3074"><stop
|
||||
style="stop-color:#e26708;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3070" /><stop
|
||||
style="stop-color:#bb3c00;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3072" /></linearGradient><radialGradient
|
||||
xlink:href="#linearGradient45008"
|
||||
id="radialGradient3076"
|
||||
cx="30.688875"
|
||||
cy="30.069115"
|
||||
fx="30.688875"
|
||||
fy="30.069115"
|
||||
r="14.05412"
|
||||
gradientUnits="userSpaceOnUse" /><linearGradient
|
||||
xlink:href="#linearGradient45008"
|
||||
id="linearGradient45010"
|
||||
x1="-31.87768"
|
||||
y1="22.065159"
|
||||
x2="-31.87768"
|
||||
y2="48.78738"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(101.16951,-6.5921995)" /><linearGradient
|
||||
id="linearGradient45008"><stop
|
||||
style="stop-color:#e14500;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop45004" /><stop
|
||||
style="stop-color:#e17900;stop-opacity:1;"
|
||||
offset="0.59811592"
|
||||
id="stop45012" /><stop
|
||||
style="stop-color:#e19c00;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop45006" /></linearGradient><linearGradient
|
||||
xlink:href="#linearGradient45008"
|
||||
id="linearGradient46715"
|
||||
x1="31.917692"
|
||||
y1="47.524929"
|
||||
x2="31.917692"
|
||||
y2="22.632998"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(1.7923447e-6)" /><linearGradient
|
||||
inkscape:collect="never"
|
||||
xlink:href="#linearGradient1024"
|
||||
id="linearGradient1026"
|
||||
x1="20.242241"
|
||||
y1="33.851089"
|
||||
x2="37.684772"
|
||||
y2="46.330421"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0816006,0,0,1.0816006,-2.5901136,-2.8438444)" /><linearGradient
|
||||
xlink:href="#linearGradient1024"
|
||||
id="linearGradient10606"
|
||||
x1="13.452065"
|
||||
y1="32.650345"
|
||||
x2="48.054203"
|
||||
y2="44.499554"
|
||||
gradientUnits="userSpaceOnUse" /><linearGradient
|
||||
inkscape:collect="never"
|
||||
xlink:href="#linearGradient13704"
|
||||
id="linearGradient13706"
|
||||
x1="18.869927"
|
||||
y1="34.850642"
|
||||
x2="44.631165"
|
||||
y2="34.850642"
|
||||
gradientUnits="userSpaceOnUse" /><radialGradient
|
||||
xlink:href="#linearGradient73856"
|
||||
id="radialGradient73858"
|
||||
cx="30.094763"
|
||||
cy="30.901455"
|
||||
fx="30.094763"
|
||||
fy="30.901455"
|
||||
r="11.518468"
|
||||
gradientTransform="matrix(1.9666691,0,0,2.2620107,-3.8943114,-30.031019)"
|
||||
gradientUnits="userSpaceOnUse" /><linearGradient
|
||||
id="linearGradient73856"><stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop73852" /><stop
|
||||
style="stop-color:#f7f8f9;stop-opacity:1;"
|
||||
offset="0.15093437"
|
||||
id="stop77494" /><stop
|
||||
style="stop-color:#ccd0d6;stop-opacity:1;"
|
||||
offset="0.53578031"
|
||||
id="stop73860" /><stop
|
||||
style="stop-color:#516499;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop73854" /></linearGradient><linearGradient
|
||||
xlink:href="#linearGradient77490"
|
||||
id="linearGradient77492"
|
||||
x1="15.632637"
|
||||
y1="25.657946"
|
||||
x2="36.755505"
|
||||
y2="51.227448"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.86580682,0,0,0.86580682,29.854566,16.268675)" /><linearGradient
|
||||
id="linearGradient77490"><stop
|
||||
style="stop-color:#62697d;stop-opacity:0.4700855;"
|
||||
offset="0"
|
||||
id="stop77486" /><stop
|
||||
style="stop-color:#9f9f9f;stop-opacity:0.49019608;"
|
||||
offset="0.30279347"
|
||||
id="stop36247" /><stop
|
||||
style="stop-color:#444a5a;stop-opacity:0.50196078;"
|
||||
offset="0.47589374"
|
||||
id="stop36239" /><stop
|
||||
style="stop-color:#393e4d;stop-opacity:0.50980392;"
|
||||
offset="0.64751673"
|
||||
id="stop36245" /><stop
|
||||
style="stop-color:#6b7695;stop-opacity:0.52156866;"
|
||||
offset="0.76340932"
|
||||
id="stop36241" /><stop
|
||||
style="stop-color:#2e323f;stop-opacity:0.5254902;"
|
||||
offset="0.83444887"
|
||||
id="stop36243" /><stop
|
||||
style="stop-color:#252834;stop-opacity:0.54131055;"
|
||||
offset="1"
|
||||
id="stop77488" /></linearGradient><linearGradient
|
||||
xlink:href="#linearGradient1229"
|
||||
id="linearGradient1231"
|
||||
x1="50.526161"
|
||||
y1="37.883831"
|
||||
x2="67.256447"
|
||||
y2="53.176914"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
inkscape:collect="never"
|
||||
gradientTransform="matrix(1.2173809,0,0,1.2173809,6.9577154,-23.917781)" /><linearGradient
|
||||
xlink:href="#linearGradient1387"
|
||||
id="linearGradient1239"
|
||||
x1="50.526161"
|
||||
y1="37.883831"
|
||||
x2="67.256447"
|
||||
y2="53.176914"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.2173809,0,0,1.2173809,6.9577154,-23.917781)" /><linearGradient
|
||||
xlink:href="#linearGradient1024"
|
||||
id="linearGradient3603"
|
||||
x1="26.842001"
|
||||
y1="27.440641"
|
||||
x2="43.276413"
|
||||
y2="45.617104"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-3.6320054,-0.42729918)" /><radialGradient
|
||||
inkscape:collect="never"
|
||||
xlink:href="#linearGradient2"
|
||||
id="radialGradient3"
|
||||
cx="47.831398"
|
||||
cy="2.4104715"
|
||||
fx="47.831398"
|
||||
fy="2.4104715"
|
||||
r="15.008372"
|
||||
gradientUnits="userSpaceOnUse" /><radialGradient
|
||||
inkscape:collect="never"
|
||||
xlink:href="#linearGradient3"
|
||||
id="radialGradient5"
|
||||
cx="32.117443"
|
||||
cy="35.526367"
|
||||
fx="32.117443"
|
||||
fy="35.526367"
|
||||
r="13.498731"
|
||||
gradientTransform="matrix(1,0,0,1.0568721,1.7923447e-6,-2.0204599)"
|
||||
gradientUnits="userSpaceOnUse" /></defs><sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.313709"
|
||||
inkscape:cx="5.8336307"
|
||||
inkscape:cy="14.274718"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g2210"
|
||||
showguides="false" /><g
|
||||
id="g2210"
|
||||
transform="matrix(0.54328517,0,0,0.54328517,-9.4489315,-11.300948)"><ellipse
|
||||
style="opacity:1;fill:#9f2f55;fill-opacity:0.771966;stroke-width:2.99955;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:3.6;paint-order:stroke fill markers"
|
||||
id="path1"
|
||||
cx="32.117443"
|
||||
cy="35.526367"
|
||||
rx="14.032981"
|
||||
ry="14.831065" /><path
|
||||
id="path2"
|
||||
style="opacity:1;fill:#f2c1c1;fill-opacity:1;stroke-width:3.68130792;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:3.6;paint-order:stroke fill markers;stroke:#f23434;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="M 32.952673 2.168975 A 15.00837 1.8457839 0 0 0 32.823027 2.4104715 A 15.00837 1.8457839 0 0 0 42.121913 4.1187413 A 5.7860374 6.1179051 45 0 0 43.710705 7.4513927 A 5.7860374 6.1179051 45 0 0 46.163801 8.8724088 A 15.00837 1.8457839 90 0 0 47.831398 17.418842 A 15.00837 1.8457839 90 0 0 49.504078 8.806315 A 5.7860374 6.1179051 45 0 0 52.130035 7.2175224 A 5.7860374 6.1179051 45 0 0 53.848473 4.1009468 A 15.00837 1.8457839 0 0 0 62.839768 2.4104715 A 15.00837 1.8457839 0 0 0 53.606977 0.70728585 A 5.7860374 6.1179051 45 0 0 52.363905 -1.2018073 A 5.7860374 6.1179051 45 0 0 49.565088 -2.7041696 A 15.00837 1.8457839 90 0 0 47.831398 -12.597899 A 15.00837 1.8457839 90 0 0 46.082455 -2.3787849 A 5.7860374 6.1179051 45 0 0 43.947118 -0.965395 A 5.7860374 6.1179051 45 0 0 42.75743 0.67169689 A 15.00837 1.8457839 0 0 0 32.952673 2.168975 z "
|
||||
transform="rotate(45)" /><ellipse
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.68131;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:3.6;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="path3"
|
||||
cx="31.649044"
|
||||
cy="35.854084"
|
||||
rx="4.0199261"
|
||||
ry="4.2035775" /></g></svg>
|
||||
|
After Width: | Height: | Size: 13 KiB |
|
|
@ -0,0 +1,43 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cnlcxdt2wtmkm"
|
||||
path="res://.godot/imported/FlarePreset.svg-857e6afe476b69ed548435249c549c84.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/rokojori_action_library/Icons/FlarePreset.svg"
|
||||
dest_files=["res://.godot/imported/FlarePreset.svg-857e6afe476b69ed548435249c549c84.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
|
@ -0,0 +1,341 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="FlareVFX.svg"
|
||||
inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs8"><linearGradient
|
||||
id="linearGradient3"
|
||||
inkscape:collect="never"><stop
|
||||
style="stop-color:#d83636;stop-opacity:0.83529412;"
|
||||
offset="0.2804164"
|
||||
id="stop6" /><stop
|
||||
style="stop-color:#d83636;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop5" /></linearGradient><linearGradient
|
||||
id="linearGradient2"
|
||||
inkscape:collect="never"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop2" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient3601"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3597" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3599" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient1387"><stop
|
||||
style="stop-color:#f70000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1365" /><stop
|
||||
style="stop-color:#fa7207;stop-opacity:1;"
|
||||
offset="0.15848443"
|
||||
id="stop1367" /><stop
|
||||
style="stop-color:#ffce12;stop-opacity:1;"
|
||||
offset="0.30084926"
|
||||
id="stop1369" /><stop
|
||||
style="stop-color:#a1e00a;stop-opacity:1;"
|
||||
offset="0.37199998"
|
||||
id="stop1371" /><stop
|
||||
style="stop-color:#24f800;stop-opacity:1;"
|
||||
offset="0.44346777"
|
||||
id="stop1373" /><stop
|
||||
style="stop-color:#1beda1;stop-opacity:1;"
|
||||
offset="0.51599997"
|
||||
id="stop1375" /><stop
|
||||
style="stop-color:#18e9e9;stop-opacity:1;"
|
||||
offset="0.56800002"
|
||||
id="stop1377" /><stop
|
||||
style="stop-color:#1e97ff;stop-opacity:1;"
|
||||
offset="0.64159107"
|
||||
id="stop1379" /><stop
|
||||
style="stop-color:#272eff;stop-opacity:1;"
|
||||
offset="0.73000002"
|
||||
id="stop1381" /><stop
|
||||
style="stop-color:#f604ff;stop-opacity:1;"
|
||||
offset="0.86199999"
|
||||
id="stop1383" /><stop
|
||||
style="stop-color:#000000;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop1385" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient1237"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1233" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop1235" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient1229"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1225" /><stop
|
||||
style="stop-color:#000000;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop1227" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient13704"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop13700" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop13702" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient10604"><stop
|
||||
style="stop-color:#18e9e8;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop10600" /><stop
|
||||
style="stop-color:#18e9e8;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop10602" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient1024"><stop
|
||||
style="stop-color:#f70000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1020" /><stop
|
||||
style="stop-color:#fa7207;stop-opacity:1;"
|
||||
offset="0.15848443"
|
||||
id="stop1149" /><stop
|
||||
style="stop-color:#ffce12;stop-opacity:1;"
|
||||
offset="0.30084926"
|
||||
id="stop1096" /><stop
|
||||
style="stop-color:#a1e00a;stop-opacity:1;"
|
||||
offset="0.37199998"
|
||||
id="stop1153" /><stop
|
||||
style="stop-color:#24f800;stop-opacity:1;"
|
||||
offset="0.44346777"
|
||||
id="stop1092" /><stop
|
||||
style="stop-color:#1beda1;stop-opacity:1;"
|
||||
offset="0.51599997"
|
||||
id="stop1151" /><stop
|
||||
style="stop-color:#18e9e9;stop-opacity:1;"
|
||||
offset="0.56800002"
|
||||
id="stop1098" /><stop
|
||||
style="stop-color:#1e97ff;stop-opacity:1;"
|
||||
offset="0.64159107"
|
||||
id="stop1155" /><stop
|
||||
style="stop-color:#272eff;stop-opacity:1;"
|
||||
offset="0.73000002"
|
||||
id="stop1094" /><stop
|
||||
style="stop-color:#f604ff;stop-opacity:1;"
|
||||
offset="0.86199999"
|
||||
id="stop1100" /><stop
|
||||
style="stop-color:#ff0202;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop1022" /></linearGradient><linearGradient
|
||||
inkscape:collect="never"
|
||||
id="linearGradient3074"><stop
|
||||
style="stop-color:#e26708;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3070" /><stop
|
||||
style="stop-color:#bb3c00;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3072" /></linearGradient><radialGradient
|
||||
xlink:href="#linearGradient45008"
|
||||
id="radialGradient3076"
|
||||
cx="30.688875"
|
||||
cy="30.069115"
|
||||
fx="30.688875"
|
||||
fy="30.069115"
|
||||
r="14.05412"
|
||||
gradientUnits="userSpaceOnUse" /><linearGradient
|
||||
xlink:href="#linearGradient45008"
|
||||
id="linearGradient45010"
|
||||
x1="-31.87768"
|
||||
y1="22.065159"
|
||||
x2="-31.87768"
|
||||
y2="48.78738"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(101.16951,-6.5921995)" /><linearGradient
|
||||
id="linearGradient45008"><stop
|
||||
style="stop-color:#e14500;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop45004" /><stop
|
||||
style="stop-color:#e17900;stop-opacity:1;"
|
||||
offset="0.59811592"
|
||||
id="stop45012" /><stop
|
||||
style="stop-color:#e19c00;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop45006" /></linearGradient><linearGradient
|
||||
xlink:href="#linearGradient45008"
|
||||
id="linearGradient46715"
|
||||
x1="31.917692"
|
||||
y1="47.524929"
|
||||
x2="31.917692"
|
||||
y2="22.632998"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(1.7923447e-6)" /><linearGradient
|
||||
inkscape:collect="never"
|
||||
xlink:href="#linearGradient1024"
|
||||
id="linearGradient1026"
|
||||
x1="20.242241"
|
||||
y1="33.851089"
|
||||
x2="37.684772"
|
||||
y2="46.330421"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0816006,0,0,1.0816006,-2.5901136,-2.8438444)" /><linearGradient
|
||||
xlink:href="#linearGradient1024"
|
||||
id="linearGradient10606"
|
||||
x1="13.452065"
|
||||
y1="32.650345"
|
||||
x2="48.054203"
|
||||
y2="44.499554"
|
||||
gradientUnits="userSpaceOnUse" /><linearGradient
|
||||
inkscape:collect="never"
|
||||
xlink:href="#linearGradient13704"
|
||||
id="linearGradient13706"
|
||||
x1="18.869927"
|
||||
y1="34.850642"
|
||||
x2="44.631165"
|
||||
y2="34.850642"
|
||||
gradientUnits="userSpaceOnUse" /><radialGradient
|
||||
xlink:href="#linearGradient73856"
|
||||
id="radialGradient73858"
|
||||
cx="30.094763"
|
||||
cy="30.901455"
|
||||
fx="30.094763"
|
||||
fy="30.901455"
|
||||
r="11.518468"
|
||||
gradientTransform="matrix(1.9666691,0,0,2.2620107,-3.8943114,-30.031019)"
|
||||
gradientUnits="userSpaceOnUse" /><linearGradient
|
||||
id="linearGradient73856"><stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop73852" /><stop
|
||||
style="stop-color:#f7f8f9;stop-opacity:1;"
|
||||
offset="0.15093437"
|
||||
id="stop77494" /><stop
|
||||
style="stop-color:#ccd0d6;stop-opacity:1;"
|
||||
offset="0.53578031"
|
||||
id="stop73860" /><stop
|
||||
style="stop-color:#516499;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop73854" /></linearGradient><linearGradient
|
||||
xlink:href="#linearGradient77490"
|
||||
id="linearGradient77492"
|
||||
x1="15.632637"
|
||||
y1="25.657946"
|
||||
x2="36.755505"
|
||||
y2="51.227448"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.86580682,0,0,0.86580682,29.854566,16.268675)" /><linearGradient
|
||||
id="linearGradient77490"><stop
|
||||
style="stop-color:#62697d;stop-opacity:0.4700855;"
|
||||
offset="0"
|
||||
id="stop77486" /><stop
|
||||
style="stop-color:#9f9f9f;stop-opacity:0.49019608;"
|
||||
offset="0.30279347"
|
||||
id="stop36247" /><stop
|
||||
style="stop-color:#444a5a;stop-opacity:0.50196078;"
|
||||
offset="0.47589374"
|
||||
id="stop36239" /><stop
|
||||
style="stop-color:#393e4d;stop-opacity:0.50980392;"
|
||||
offset="0.64751673"
|
||||
id="stop36245" /><stop
|
||||
style="stop-color:#6b7695;stop-opacity:0.52156866;"
|
||||
offset="0.76340932"
|
||||
id="stop36241" /><stop
|
||||
style="stop-color:#2e323f;stop-opacity:0.5254902;"
|
||||
offset="0.83444887"
|
||||
id="stop36243" /><stop
|
||||
style="stop-color:#252834;stop-opacity:0.54131055;"
|
||||
offset="1"
|
||||
id="stop77488" /></linearGradient><linearGradient
|
||||
xlink:href="#linearGradient1229"
|
||||
id="linearGradient1231"
|
||||
x1="50.526161"
|
||||
y1="37.883831"
|
||||
x2="67.256447"
|
||||
y2="53.176914"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
inkscape:collect="never"
|
||||
gradientTransform="matrix(1.2173809,0,0,1.2173809,6.9577154,-23.917781)" /><linearGradient
|
||||
xlink:href="#linearGradient1387"
|
||||
id="linearGradient1239"
|
||||
x1="50.526161"
|
||||
y1="37.883831"
|
||||
x2="67.256447"
|
||||
y2="53.176914"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.2173809,0,0,1.2173809,6.9577154,-23.917781)" /><linearGradient
|
||||
xlink:href="#linearGradient1024"
|
||||
id="linearGradient3603"
|
||||
x1="26.842001"
|
||||
y1="27.440641"
|
||||
x2="43.276413"
|
||||
y2="45.617104"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-3.6320054,-0.42729918)" /><radialGradient
|
||||
inkscape:collect="never"
|
||||
xlink:href="#linearGradient2"
|
||||
id="radialGradient3"
|
||||
cx="47.831398"
|
||||
cy="2.4104715"
|
||||
fx="47.831398"
|
||||
fy="2.4104715"
|
||||
r="15.008372"
|
||||
gradientUnits="userSpaceOnUse" /><radialGradient
|
||||
inkscape:collect="never"
|
||||
xlink:href="#linearGradient3"
|
||||
id="radialGradient5"
|
||||
cx="32.117443"
|
||||
cy="35.526367"
|
||||
fx="32.117443"
|
||||
fy="35.526367"
|
||||
r="13.498731"
|
||||
gradientTransform="matrix(1,0,0,1.0568721,1.7923447e-6,-2.0204599)"
|
||||
gradientUnits="userSpaceOnUse" /></defs><sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.313709"
|
||||
inkscape:cx="5.8336307"
|
||||
inkscape:cy="14.274718"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g2210"
|
||||
showguides="false" /><g
|
||||
id="g2210"
|
||||
transform="matrix(0.54328517,0,0,0.54328517,-9.4489315,-11.300948)"><ellipse
|
||||
style="opacity:1;fill:#9f2f55;fill-opacity:0.771966;stroke-width:2.99955;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:3.6;paint-order:stroke fill markers"
|
||||
id="path1"
|
||||
cx="32.117443"
|
||||
cy="35.526367"
|
||||
rx="14.032981"
|
||||
ry="14.831065" /><path
|
||||
id="path2"
|
||||
style="opacity:1;fill:#f2c1c1;fill-opacity:1;stroke-width:3.68130792;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:3.6;paint-order:stroke fill markers;stroke:#f23434;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="M 32.952673 2.168975 A 15.00837 1.8457839 0 0 0 32.823027 2.4104715 A 15.00837 1.8457839 0 0 0 42.121913 4.1187413 A 5.7860374 6.1179051 45 0 0 43.710705 7.4513927 A 5.7860374 6.1179051 45 0 0 46.163801 8.8724088 A 15.00837 1.8457839 90 0 0 47.831398 17.418842 A 15.00837 1.8457839 90 0 0 49.504078 8.806315 A 5.7860374 6.1179051 45 0 0 52.130035 7.2175224 A 5.7860374 6.1179051 45 0 0 53.848473 4.1009468 A 15.00837 1.8457839 0 0 0 62.839768 2.4104715 A 15.00837 1.8457839 0 0 0 53.606977 0.70728585 A 5.7860374 6.1179051 45 0 0 52.363905 -1.2018073 A 5.7860374 6.1179051 45 0 0 49.565088 -2.7041696 A 15.00837 1.8457839 90 0 0 47.831398 -12.597899 A 15.00837 1.8457839 90 0 0 46.082455 -2.3787849 A 5.7860374 6.1179051 45 0 0 43.947118 -0.965395 A 5.7860374 6.1179051 45 0 0 42.75743 0.67169689 A 15.00837 1.8457839 0 0 0 32.952673 2.168975 z "
|
||||
transform="rotate(45)" /><ellipse
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.68131;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:3.6;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="path3"
|
||||
cx="31.649044"
|
||||
cy="35.854084"
|
||||
rx="4.0199261"
|
||||
ry="4.2035775" /></g></svg>
|
||||
|
After Width: | Height: | Size: 13 KiB |
|
|
@ -0,0 +1,43 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b7u8spfui08e7"
|
||||
path="res://.godot/imported/FlareVFX.svg-7c0691138c416c828300e95f7f8b3111.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/rokojori_action_library/Icons/FlareVFX.svg"
|
||||
dest_files=["res://.godot/imported/FlareVFX.svg-7c0691138c416c828300e95f7f8b3111.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
|
||||
using Godot;
|
||||
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
[Tool][GlobalClass ]
|
||||
public partial class SetScreenTransform : Action
|
||||
{
|
||||
[Export]
|
||||
public Camera3D source;
|
||||
|
||||
[Export]
|
||||
public Node3D target;
|
||||
|
||||
[Export]
|
||||
public Vector3 screenPosition;
|
||||
|
||||
|
||||
protected override void _OnTrigger()
|
||||
{
|
||||
var applyingSource = source;
|
||||
|
||||
if ( Engine.IsEditorHint() )
|
||||
{
|
||||
#if TOOLS
|
||||
|
||||
applyingSource = EditorInterface.Singleton.GetEditorViewport3D().GetCamera3D();
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
if ( source == null )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
target.GlobalPosition = NormalizedScreenToWorld( applyingSource, screenPosition.XY(), screenPosition.Z );
|
||||
target.SetGlobalQuaternion( applyingSource.GlobalQuaternion() );
|
||||
|
||||
}
|
||||
|
||||
public static Vector3 NormalizedScreenToWorld( Camera3D camera, Vector2 normalizedPos, float depth )
|
||||
{
|
||||
var viewPort = camera.GetViewport();
|
||||
var viewportSize = viewPort.GetVisibleRect().Size;
|
||||
|
||||
var screenPixelPos = new Vector2(
|
||||
normalizedPos.X * viewportSize.X,
|
||||
normalizedPos.Y * viewportSize.Y
|
||||
);
|
||||
|
||||
return camera.ProjectPosition(screenPixelPos, depth);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://cf5jsfq6agufc
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
|
||||
using Godot;
|
||||
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
[Tool]
|
||||
[GlobalClass ]
|
||||
public partial class SetLabelText : Action
|
||||
{
|
||||
[Export]
|
||||
public Label3D label;
|
||||
|
||||
[Export]
|
||||
public string text;
|
||||
|
||||
protected override void _OnTrigger()
|
||||
{
|
||||
label.Text = text;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bvomnqpw05n5w
|
||||
|
|
@ -5,6 +5,22 @@ namespace Rokojori
|
|||
{
|
||||
public static class ColorX
|
||||
{
|
||||
public static float GetColorScale( this Color c )
|
||||
{
|
||||
return Mathf.Max( 1f, Mathf.Max( c.R, Mathf.Max( c.G, c.B ) ) );
|
||||
}
|
||||
|
||||
public static Color ScaleColor( this Color c, float scale )
|
||||
{
|
||||
return new Color( c.R * scale, c.G * scale, c.B * scale, c.A );
|
||||
}
|
||||
|
||||
public static HSLColor ToHSL( this Color c, float scale = 1f )
|
||||
{
|
||||
return HSLColor.FromRGBA( c.ScaleColor( 1f / scale ) );
|
||||
}
|
||||
|
||||
|
||||
public static float r( this Vector4 rgba )
|
||||
{
|
||||
return rgba.X;
|
||||
|
|
|
|||
|
|
@ -174,6 +174,43 @@ namespace Rokojori
|
|||
return new HSLColor( h, s, l, a );
|
||||
}
|
||||
|
||||
static float modPolarDegrees( float value )
|
||||
{
|
||||
return MathX.Repeat( value + 180.0f, 360.0f ) - 180.0f;
|
||||
}
|
||||
|
||||
public static float hue360ToYB( float hue )
|
||||
{
|
||||
return modPolarDegrees( hue - 240.0f );
|
||||
}
|
||||
|
||||
public static float ybToHue360( float yb )
|
||||
{
|
||||
return ( yb + 240.0f ) % 360.0f;
|
||||
}
|
||||
|
||||
public static float changeHue360( float hue, float change )
|
||||
{
|
||||
float yb = hue360ToYB( hue );
|
||||
|
||||
float absYB = Mathf.Abs( yb );
|
||||
|
||||
absYB = Mathf.Clamp( absYB + change, 0.0f, 180.0f );
|
||||
|
||||
float realYB = Mathf.Sign( yb ) * absYB;
|
||||
|
||||
return ybToHue360( realYB );
|
||||
}
|
||||
|
||||
public static float ShiftTemparatureOfHue( float hue, float offset, float blendRadius = 60f )
|
||||
{
|
||||
float distanceToYellow = Mathf.Min( 1.0f, Mathf.Abs( hue - 60.0f ) / blendRadius );
|
||||
float distanceToBlue = Mathf.Min( 1.0f, Mathf.Abs( hue - 240.0f ) / blendRadius );
|
||||
|
||||
return changeHue360( hue, offset * distanceToYellow * distanceToBlue );
|
||||
|
||||
}
|
||||
|
||||
public static Color Lerp( Color x, Color y, float t )
|
||||
{
|
||||
var hx = new HSLColor( x );
|
||||
|
|
@ -185,7 +222,7 @@ namespace Rokojori
|
|||
}
|
||||
|
||||
|
||||
public Color ToRGBA()
|
||||
public Color ToRGBA( float scale = 1 )
|
||||
{
|
||||
var r = 0f;
|
||||
var g = 0f;
|
||||
|
|
@ -208,6 +245,10 @@ namespace Rokojori
|
|||
b = Value( m1, m2, h - 120f );
|
||||
}
|
||||
|
||||
r *= scale;
|
||||
g *= scale;
|
||||
b *= scale;
|
||||
|
||||
return new Color( r, g, b, a );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -304,6 +304,15 @@ namespace Rokojori
|
|||
|
||||
public static string Normalize( string path, bool removeFirst = true, bool removeLast = true )
|
||||
{
|
||||
var protocollStart = path.IndexOf( "://" );
|
||||
var protocoll = "";
|
||||
|
||||
if ( protocollStart != -1 )
|
||||
{
|
||||
protocoll = path.Substring( 0, protocollStart + 3 );
|
||||
path = path.Substring( protocollStart + 3 );
|
||||
}
|
||||
|
||||
path = Regex.Replace( path, @"\\", "/" );
|
||||
path = Regex.Replace( path, @"/+", "/" );
|
||||
|
||||
|
|
@ -317,9 +326,7 @@ namespace Rokojori
|
|||
path = Regex.Replace( path, @"/$", "" );
|
||||
}
|
||||
|
||||
|
||||
|
||||
return path;
|
||||
return protocoll + path;
|
||||
}
|
||||
|
||||
public static string Join( params string[] paths )
|
||||
|
|
|
|||
|
|
@ -104,6 +104,11 @@ namespace Rokojori
|
|||
|
||||
public static List<FilePath> GetFiles( string path, System.Func<FilePath,bool> evaluator = null, bool recursive = false )
|
||||
{
|
||||
if ( ! Directory.Exists( path ) )
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
var list = new List<FilePath>();
|
||||
|
||||
var files = Directory.GetFiles( path, "*", recursive ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly );
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
using Godot;
|
||||
using System.Text;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
public class ResourceRunner<R,D,P> where R:Resource where P:Node
|
||||
{
|
||||
public D data;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://b0iux3mchi43r
|
||||
|
|
@ -12,5 +12,21 @@ namespace Rokojori
|
|||
{
|
||||
public static readonly string AddonLibraryPath = "res://addons/rokojori_action_library/";
|
||||
public static readonly string RuntimePath = "res://addons/rokojori_action_library/Runtime/";
|
||||
|
||||
|
||||
public static string ProjectPath()
|
||||
{
|
||||
return ProjectSettings.GlobalizePath( "res://" );
|
||||
}
|
||||
|
||||
public static string ToGlobal( string path )
|
||||
{
|
||||
if ( path.StartsWith( "res://" ) )
|
||||
{
|
||||
return path.Replace( "res://", ProjectPath() );
|
||||
}
|
||||
|
||||
return path;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
[GlobalClass,Tool]
|
||||
public partial class ExtendedMesh:Mesh
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://lf7pc0al3lb8
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
[Tool]
|
||||
[GlobalClass]
|
||||
public partial class MeshGenerator:Node
|
||||
{
|
||||
[Export]
|
||||
public MeshGeneratorType generator;
|
||||
|
||||
[ExportToolButton( "Generate")]
|
||||
public Callable generateButton => Callable.From( ()=>{ mesh = generator.Generate(); } );
|
||||
|
||||
[Export]
|
||||
public ArrayMesh mesh;
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://csr18y8chfxwo
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
[Tool]
|
||||
[GlobalClass]
|
||||
public abstract partial class MeshGeneratorType:Resource
|
||||
{
|
||||
[Export]
|
||||
public bool cacheMeshes = true;
|
||||
|
||||
public static readonly string cachePath = "res://.rokojori/cache/MeshGeneratorType";
|
||||
|
||||
public static string GetProjectCachePath( string cacheName )
|
||||
{
|
||||
return FilePath.Join( cachePath, cacheName + ".tres" );
|
||||
}
|
||||
|
||||
public static ArrayMesh FromCache( string cacheName )
|
||||
{
|
||||
var path = GetProjectCachePath( cacheName );
|
||||
var globalPath = Paths.ToGlobal( path );
|
||||
|
||||
RJLog.Log( path, globalPath );
|
||||
|
||||
if ( ! FilesSync.FileExists( globalPath ) )
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return GD.Load<ArrayMesh>( path );
|
||||
}
|
||||
|
||||
public static void ToCache( string cacheName, ArrayMesh arrayMesh )
|
||||
{
|
||||
|
||||
var path = GetProjectCachePath( cacheName );
|
||||
var globalPath = Paths.ToGlobal( path );
|
||||
|
||||
RJLog.Log( path, globalPath );
|
||||
|
||||
FilesSync.EnsureParentDirectoryExists( globalPath );
|
||||
ResourceSaver.Save( arrayMesh, path, ResourceSaver.SaverFlags.Compress );
|
||||
}
|
||||
|
||||
|
||||
|
||||
public ArrayMesh Generate()
|
||||
{
|
||||
var cachePath = GetCachePath();
|
||||
|
||||
if ( cachePath != null && Engine.IsEditorHint() )
|
||||
{
|
||||
this.LogInfo( "Checking cache for:", cachePath );
|
||||
var cached = FromCache( cachePath );
|
||||
|
||||
if ( cached != null )
|
||||
{
|
||||
this.LogInfo( "Found cache for:", cachePath, cached.SurfaceGetArrayLen( 0 ) );
|
||||
return cached;
|
||||
}
|
||||
|
||||
this.LogInfo( "Not cached:", cachePath );
|
||||
}
|
||||
|
||||
var mg = _GenerateMeshGeometry();
|
||||
|
||||
var arrayMesh = mg.GenerateMesh();
|
||||
|
||||
if ( cachePath != null && Engine.IsEditorHint() )
|
||||
{
|
||||
this.LogInfo( "To cache:", cachePath, arrayMesh.SurfaceGetArrayLen( 0 ) );
|
||||
|
||||
|
||||
ToCache( cachePath, arrayMesh );
|
||||
|
||||
return FromCache( cachePath );
|
||||
}
|
||||
|
||||
return arrayMesh;
|
||||
}
|
||||
|
||||
protected abstract string GetCachePath();
|
||||
protected abstract MeshGeometry _GenerateMeshGeometry();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bv1dvb053gokl
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
[Tool]
|
||||
[GlobalClass]
|
||||
public partial class UnitBillboardQuadsGenerator:MeshGeneratorType
|
||||
{
|
||||
[Export]
|
||||
public int num = 1;
|
||||
|
||||
protected override string GetCachePath()
|
||||
{
|
||||
return "UnitBillboardQuadsGenerator-" + num;
|
||||
}
|
||||
|
||||
protected override MeshGeometry _GenerateMeshGeometry()
|
||||
{
|
||||
return MeshGeometry.UnitBillboardQuads( num, 0f, 1f );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://djb5k01vcut20
|
||||
|
|
@ -863,7 +863,7 @@ namespace Rokojori
|
|||
|
||||
for ( int i = 0; i < num; i++ )
|
||||
{
|
||||
var t = num == 1 ? 0 : i / ( num - 1f );
|
||||
var t = num <= 1 ? 0.5f : i / ( num - 1f );
|
||||
var z = Mathf.Lerp( zMin, zMax, t );
|
||||
var quad = BillboardQuad( 1f, z );
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ height = 1
|
|||
noise = SubResource("FastNoiseLite_gxlxg")
|
||||
seamless = true
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_mdsx3"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_fv6nb"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -115,7 +115,7 @@ height = 256
|
|||
noise = SubResource("FastNoiseLite_w6tyf")
|
||||
seamless = true
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_wpvj8"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_faje8"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -155,7 +155,7 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy"
|
|||
script = ExtResource("3_55j2s")
|
||||
owner = SubResource("Resource_i5utj")
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_ysmsc"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_55j2s"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -201,7 +201,7 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy"
|
|||
script = ExtResource("3_55j2s")
|
||||
owner = SubResource("Resource_i5utj")
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_t5au6"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_rxqvv"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -234,5 +234,5 @@ metadata/_custom_type_script = "uid://6jkixa201wux"
|
|||
|
||||
[resource]
|
||||
script = ExtResource("8_v2hqv")
|
||||
effects = [SubResource("CompositorEffect_mdsx3"), SubResource("CompositorEffect_wpvj8"), SubResource("CompositorEffect_ysmsc"), SubResource("CompositorEffect_t5au6")]
|
||||
effects = [SubResource("CompositorEffect_fv6nb"), SubResource("CompositorEffect_faje8"), SubResource("CompositorEffect_55j2s"), SubResource("CompositorEffect_rxqvv")]
|
||||
metadata/_custom_type_script = "uid://ckixweetchlo0"
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ fill_from = Vector2(0.5, 0.50427353)
|
|||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_g6idi"]
|
||||
load_path = "res://.godot/imported/star-glow.png-61f0458024aeba1668f3516b3db84782.ctex"
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_ixqtu"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_e74ec"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -55,7 +55,7 @@ effect_callback_type = 4
|
|||
needs_motion_vectors = false
|
||||
needs_normal_roughness = false
|
||||
script = ExtResource("4_chktd")
|
||||
opacity = 0.5578947
|
||||
opacity = 0.0
|
||||
blendMode = 1
|
||||
overlayTexture = SubResource("CompressedTexture2D_g6idi")
|
||||
overlayTint = Color(1, 1, 1, 0.050980393)
|
||||
|
|
@ -94,7 +94,7 @@ use_hdr = true
|
|||
fill = 1
|
||||
fill_from = Vector2(0.5, 0.50427353)
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_m7r8b"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_bfksq"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -102,7 +102,7 @@ effect_callback_type = 4
|
|||
needs_motion_vectors = false
|
||||
needs_normal_roughness = false
|
||||
script = ExtResource("4_chktd")
|
||||
opacity = 0.5578947
|
||||
opacity = 0.0
|
||||
blendMode = 1
|
||||
overlayTexture = ExtResource("5_1gqhf")
|
||||
overlayTint = Color(1, 1, 1, 0.21568628)
|
||||
|
|
@ -128,7 +128,7 @@ curve = SubResource("Curve_nxurn")
|
|||
script = ExtResource("3_eyvih")
|
||||
owner = SubResource("Resource_1ntwo")
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_sw5v3"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_eyvih"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -136,7 +136,7 @@ effect_callback_type = 4
|
|||
needs_motion_vectors = false
|
||||
needs_normal_roughness = false
|
||||
script = ExtResource("6_t8xaw")
|
||||
distortionAmount = 0.12
|
||||
distortionAmount = 0.0
|
||||
ellipseScale = 1.138
|
||||
ringsDistribution = 0.7727
|
||||
animationTargets = [SubResource("Resource_35pef")]
|
||||
|
|
@ -156,7 +156,7 @@ curve = SubResource("Curve_71075")
|
|||
script = ExtResource("3_eyvih")
|
||||
owner = SubResource("Resource_1ntwo")
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_wi6eu"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_chktd"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -164,7 +164,7 @@ effect_callback_type = 4
|
|||
needs_motion_vectors = false
|
||||
needs_normal_roughness = false
|
||||
script = ExtResource("7_g2w8j")
|
||||
amount = 1.0
|
||||
amount = 0.0
|
||||
num = 3
|
||||
distortionAmount = 0.4369
|
||||
distortionAngle = 168.8496
|
||||
|
|
@ -198,7 +198,7 @@ curve = SubResource("Curve_su8gi")
|
|||
script = ExtResource("3_eyvih")
|
||||
owner = SubResource("Resource_1ntwo")
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_7720d"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_1gqhf"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -206,7 +206,7 @@ effect_callback_type = 4
|
|||
needs_motion_vectors = false
|
||||
needs_normal_roughness = false
|
||||
script = ExtResource("8_bfeok")
|
||||
amount = 1.0
|
||||
amount = 0.0
|
||||
saturationOffset = 30.0
|
||||
saturationGamma = 37.9747
|
||||
lightnessOffset = 2.0
|
||||
|
|
@ -217,5 +217,5 @@ metadata/_custom_type_script = "uid://pevgspwywsxi"
|
|||
|
||||
[resource]
|
||||
script = ExtResource("9_fgrt2")
|
||||
effects = [SubResource("CompositorEffect_ixqtu"), SubResource("CompositorEffect_m7r8b"), SubResource("CompositorEffect_sw5v3"), SubResource("CompositorEffect_wi6eu"), SubResource("CompositorEffect_7720d")]
|
||||
effects = [SubResource("CompositorEffect_e74ec"), SubResource("CompositorEffect_bfksq"), SubResource("CompositorEffect_eyvih"), SubResource("CompositorEffect_chktd"), SubResource("CompositorEffect_1gqhf")]
|
||||
metadata/_custom_type_script = "uid://ckixweetchlo0"
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ noise = SubResource("FastNoiseLite_3tnad")
|
|||
color_ramp = SubResource("Gradient_0c48d")
|
||||
seamless = true
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_ysmsc"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_nnbdi"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -69,7 +69,7 @@ effect_callback_type = 4
|
|||
needs_motion_vectors = false
|
||||
needs_normal_roughness = false
|
||||
script = ExtResource("4_qyiel")
|
||||
amount = 0.1
|
||||
amount = 0.0
|
||||
blendMode = 0.0
|
||||
inputFading = SubResource("GradientTexture2D_i46l2")
|
||||
outputFading = SubResource("GradientTexture2D_d1ujc")
|
||||
|
|
@ -82,7 +82,7 @@ smearingSteps = 10
|
|||
smearing = 1.5
|
||||
redShift = 0.1689
|
||||
blueShift = -0.0889
|
||||
lumaTint = Color(0.8206905, 0.5294989, 0.1740212, 1)
|
||||
lumaTint = Color(2.3825946, 1.5737975, 0.5791954, 1)
|
||||
lumaInputRange = Vector2(1.015, 1.5)
|
||||
lumaOutputRange = Vector2(0, 1)
|
||||
desaturation = 0.0
|
||||
|
|
@ -143,7 +143,7 @@ colors = PackedColorArray(1, 1, 1, 1)
|
|||
gradient = SubResource("Gradient_ie6m2")
|
||||
width = 2
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_7axlu"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_c6fon"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -151,7 +151,7 @@ effect_callback_type = 4
|
|||
needs_motion_vectors = false
|
||||
needs_normal_roughness = false
|
||||
script = ExtResource("6_cc1ov")
|
||||
amount = 1.0
|
||||
amount = 0.0
|
||||
lumaTint = Color(0.26849365, 0.1881681, 0.06346091, 1)
|
||||
blurRadius = 2
|
||||
lumaInputRange = Vector2(1, 1.5)
|
||||
|
|
@ -179,7 +179,7 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy"
|
|||
script = ExtResource("3_c6fon")
|
||||
owner = SubResource("Resource_d1ujc")
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_frwbc"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_qyiel"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -187,9 +187,9 @@ effect_callback_type = 4
|
|||
needs_motion_vectors = false
|
||||
needs_normal_roughness = false
|
||||
script = ExtResource("7_nnbdi")
|
||||
amount = 1.0
|
||||
amount = 0.0
|
||||
num = 1
|
||||
blendMode = 0.7151
|
||||
blendMode = 0.51
|
||||
distortionAmount = 0.3446
|
||||
distortionAngle = 0.0
|
||||
distortionAngleSpeed = 0.0
|
||||
|
|
@ -198,7 +198,7 @@ redShift = 0.0415
|
|||
blueShift = -0.0065
|
||||
blurRadiusX = 5
|
||||
blurRadiusY = 5
|
||||
lumaTint = Color(1.340301, 0.78043133, 0, 1)
|
||||
lumaTint = Color(4.2130003, 3.380445, 0.5407243, 1)
|
||||
downSampling = 3
|
||||
animationTargets = [SubResource("Resource_22k1k")]
|
||||
compositorEffectID = SubResource("Resource_hpfyh")
|
||||
|
|
@ -206,5 +206,5 @@ metadata/_custom_type_script = "uid://6jkixa201wux"
|
|||
|
||||
[resource]
|
||||
script = ExtResource("7_txjlu")
|
||||
effects = [SubResource("CompositorEffect_ysmsc"), SubResource("CompositorEffect_7axlu"), SubResource("CompositorEffect_frwbc")]
|
||||
effects = [SubResource("CompositorEffect_nnbdi"), SubResource("CompositorEffect_c6fon"), SubResource("CompositorEffect_qyiel")]
|
||||
metadata/_custom_type_script = "uid://ckixweetchlo0"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
[gd_resource type="Resource" script_class="CompositorVFXPreset" load_steps=35 format=3 uid="uid://0blw3yhjw7y0"]
|
||||
[gd_resource type="Resource" script_class="CompositorVFXPreset" load_steps=36 format=3 uid="uid://0blw3yhjw7y0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cx5qcow1mmd11" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorEffectOwner.cs" id="1_0ail8"]
|
||||
[ext_resource type="Script" uid="uid://dvvfvlutisecy" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/AnimationTargets/CompFXMemberCurveTarget.cs" id="1_4xviq"]
|
||||
[ext_resource type="Resource" uid="uid://bwhnq7w0tpgv" path="res://VFX/Action FX Compositor Effect Layer.tres" id="2_4xviq"]
|
||||
[ext_resource type="Script" uid="uid://comuvej4dr22k" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/RokojoriCompositorEffectID.cs" id="2_tc21q"]
|
||||
[ext_resource type="Script" uid="uid://bx4j8ic80vl7f" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Edge/DepthOutlines/DepthOutlinesEffect.cs" id="3_dryyw"]
|
||||
[ext_resource type="Texture2D" uid="uid://c30nul6romace" path="res://addons/rokojori_action_library/Runtime/Procedural/Noise/RGB 3D Noise.png" id="5_orb2s"]
|
||||
|
|
@ -25,6 +26,7 @@ script = ExtResource("1_0ail8")
|
|||
[sub_resource type="Resource" id="Resource_p64cs"]
|
||||
script = ExtResource("2_tc21q")
|
||||
owner = SubResource("Resource_ie6m2")
|
||||
layer = ExtResource("2_4xviq")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_7axlu"]
|
||||
_data = [Vector2(0, 1), 0.0, -18.573792, 0, 0, Vector2(0.07774799, 0.15679264), -0.687919, -0.687919, 0, 0, Vector2(1, 0), -0.069252, 0.0, 0, 0]
|
||||
|
|
@ -48,7 +50,7 @@ point_count = 3
|
|||
[sub_resource type="CurveTexture" id="CurveTexture_hpfyh"]
|
||||
curve = SubResource("Curve_22k1k")
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_ie6m2"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_4xviq"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -56,6 +58,7 @@ effect_callback_type = 4
|
|||
needs_motion_vectors = false
|
||||
needs_normal_roughness = false
|
||||
script = ExtResource("3_dryyw")
|
||||
amount = 0.0
|
||||
outlineWidth = -0.0516
|
||||
outlineWidthCurve = SubResource("CurveTexture_p64cs")
|
||||
edgeColor = Color(0.14817011, 0.21073082, 0.29634023, 1)
|
||||
|
|
@ -89,6 +92,7 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy"
|
|||
[sub_resource type="Resource" id="Resource_hpfyh"]
|
||||
script = ExtResource("2_tc21q")
|
||||
owner = SubResource("Resource_ie6m2")
|
||||
layer = ExtResource("2_4xviq")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_frwbc"]
|
||||
offsets = PackedFloat32Array(1)
|
||||
|
|
@ -97,7 +101,7 @@ colors = PackedColorArray(1, 1, 1, 1)
|
|||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_w6tyf"]
|
||||
gradient = SubResource("Gradient_frwbc")
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_i5utj"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_0m0g3"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -106,6 +110,7 @@ needs_motion_vectors = false
|
|||
needs_normal_roughness = false
|
||||
script = ExtResource("6_hdnet")
|
||||
distortionAmount = 0.0049
|
||||
blendAmount = 0.0
|
||||
smearingSteps = 1
|
||||
smearing = 1.0
|
||||
redShift = 0.0
|
||||
|
|
@ -132,6 +137,7 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy"
|
|||
[sub_resource type="Resource" id="Resource_gxlxg"]
|
||||
script = ExtResource("2_tc21q")
|
||||
owner = SubResource("Resource_ie6m2")
|
||||
layer = ExtResource("2_4xviq")
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_4n83u"]
|
||||
load_path = "res://.godot/imported/RGB 3D Noise.png-daebfe00d2f3fcd5d3bc528f8a3972e1.ctex"
|
||||
|
|
@ -143,7 +149,7 @@ colors = PackedColorArray(1, 1, 1, 1)
|
|||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_ixn1d"]
|
||||
gradient = SubResource("Gradient_72jau")
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_22k1k"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_orb2s"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -152,6 +158,7 @@ needs_motion_vectors = false
|
|||
needs_normal_roughness = false
|
||||
script = ExtResource("6_hdnet")
|
||||
distortionAmount = 0.0026
|
||||
blendAmount = 0.0
|
||||
smearingSteps = 1
|
||||
smearing = 1.0
|
||||
redShift = 0.0
|
||||
|
|
@ -168,8 +175,9 @@ metadata/_custom_type_script = "uid://balixgskgouhm"
|
|||
[sub_resource type="Resource" id="Resource_3tnad"]
|
||||
script = ExtResource("2_tc21q")
|
||||
owner = SubResource("Resource_ie6m2")
|
||||
layer = ExtResource("2_4xviq")
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_y3g14"]
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_hdnet"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
|
|
@ -184,5 +192,5 @@ metadata/_custom_type_script = "uid://cjfxcl3cdhnku"
|
|||
|
||||
[resource]
|
||||
script = ExtResource("6_orb2s")
|
||||
effects = [SubResource("CompositorEffect_ie6m2"), SubResource("CompositorEffect_i5utj"), SubResource("CompositorEffect_22k1k"), SubResource("CompositorEffect_y3g14")]
|
||||
effects = [SubResource("CompositorEffect_4xviq"), SubResource("CompositorEffect_0m0g3"), SubResource("CompositorEffect_orb2s"), SubResource("CompositorEffect_hdnet")]
|
||||
metadata/_custom_type_script = "uid://ckixweetchlo0"
|
||||
|
|
|
|||
|
|
@ -223,10 +223,7 @@ vec4 colorSpaceConversion( vec4 color, int mode )
|
|||
return mode == 1 ? LINEARtoSRGB( color ) : SRGBtoLINEAR( color );
|
||||
}
|
||||
|
||||
float modPolarDegrees( float value )
|
||||
{
|
||||
return mod( value + 180.0, 360.0 ) - 180.0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
vec3 changeHueOfRGB( vec3 rgb, float hueChange )
|
||||
|
|
@ -237,6 +234,11 @@ vec3 changeHueOfRGB( vec3 rgb, float hueChange )
|
|||
return HSLtoRGB( hsl );
|
||||
}
|
||||
|
||||
float modPolarDegrees( float value )
|
||||
{
|
||||
return mod( value + 180.0, 360.0 ) - 180.0;
|
||||
}
|
||||
|
||||
float hue360ToYB( float hue )
|
||||
{
|
||||
return modPolarDegrees( hue - 240.0 );
|
||||
|
|
|
|||
|
|
@ -80,6 +80,7 @@ vec2 seamLessCoordinate( vec2 uv, vec2 seamRange, vec2 seamFade, vec2 type )
|
|||
return mod( uv - seamFade * type, seamRange );
|
||||
}
|
||||
|
||||
|
||||
float perlinOctavesSeamless( vec2 uv, int octaves, float scale, float gain, vec2 seamRange, vec2 seamFade )
|
||||
{
|
||||
// uv = mod( uv , seamRange );
|
||||
|
|
@ -109,6 +110,39 @@ float perlinOctavesSeamless( vec2 uv, int octaves, float scale, float gain, vec2
|
|||
}
|
||||
|
||||
|
||||
vec2 seamlessModulo( vec2 divident, vec2 divisor )
|
||||
{
|
||||
vec2 positiveDivident = mod( divident, divisor ) + divisor;
|
||||
return mod( positiveDivident, divisor );
|
||||
}
|
||||
|
||||
float perlinSeamlessWithRange( vec2 uv, vec2 repeat )
|
||||
{
|
||||
uv *= repeat;
|
||||
|
||||
vec2 i = floor( uv );
|
||||
vec2 f = fract( uv );
|
||||
|
||||
vec2 fade = f;
|
||||
|
||||
vec2 i00 = mod( i + vec2( 0.0, 0.0 ), repeat );
|
||||
vec2 i10 = mod( i + vec2( 1.0, 0.0 ), repeat );
|
||||
vec2 i01 = mod( i + vec2( 0.0, 1.0 ), repeat );
|
||||
vec2 i11 = mod( i + vec2( 1.0, 1.0 ), repeat );
|
||||
|
||||
|
||||
float a = random( i00 );
|
||||
float b = random( i10 );
|
||||
float c = random( i01 );
|
||||
float d = random( i11 );
|
||||
|
||||
return mix(
|
||||
mix(a, b, fade.x),
|
||||
mix(c, d, fade.x),
|
||||
fade.y
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
float perlin3D( vec3 uvw )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -0,0 +1,100 @@
|
|||
// COLOR
|
||||
group_uniforms Color;
|
||||
|
||||
uniform vec4 color : source_color = vec4( 0.887, 0.434, 0.233, 1.0 );
|
||||
uniform float opacity = 1;
|
||||
uniform sampler2D opacityCurve:source_color;
|
||||
|
||||
uniform float minHueRandom = 0;
|
||||
uniform float maxHueRandom = 0;
|
||||
|
||||
uniform float shapeNoiseAmount:hint_range(0,1) = 0;
|
||||
uniform float shapeNoiseScale = 1.0;
|
||||
|
||||
group_uniforms;
|
||||
|
||||
|
||||
|
||||
// SIZE
|
||||
group_uniforms Size;
|
||||
uniform float sizeX:hint_range(1,100) = 1;
|
||||
uniform float sizeY:hint_range(1,100) = 1;
|
||||
uniform float worldSizeScale = 1;
|
||||
uniform float screenSizeScale = 1;
|
||||
uniform float worldSize_vs_screenSize:hint_range(0,1) = 0.5;
|
||||
uniform float randomScaleMin = 1.0;
|
||||
uniform float randomScaleMax = 1.0;
|
||||
uniform float extension = 1.0;
|
||||
|
||||
group_uniforms;
|
||||
|
||||
// ROTATION
|
||||
group_uniforms Rotation;
|
||||
uniform float rotation:hint_range(-360,360) = 0.0;
|
||||
uniform float rotationOverX:hint_range(-360,360) = 0.0;
|
||||
uniform float rotationOverY:hint_range(-360,360) = 0.0;
|
||||
uniform float rotationPerLayer:hint_range(-360,360) = 0.0;
|
||||
// uniform float vertexRotation:hint_range(-360,360) = 0.0;
|
||||
// uniform float vertexRotationOverX:hint_range(-360,360) = 0.0;
|
||||
// uniform float vertexRotationOverY:hint_range(-360,360) = 0.0;
|
||||
// uniform float vertexRotationPerLayer:hint_range(-360,360) = 0.0;
|
||||
|
||||
group_uniforms;
|
||||
|
||||
// SCREEN OFFSET
|
||||
group_uniforms ScreenOffset;
|
||||
uniform vec2 screenOffset = vec2( 0, 0 );
|
||||
uniform vec2 screenOffsetScale = vec2( 0, 0 );
|
||||
uniform vec2 screenOffsetLayerSpread = vec2( 0, 0 );
|
||||
group_uniforms;
|
||||
|
||||
// CHROMATIC ABERATION
|
||||
group_uniforms ChromaticAberation;
|
||||
uniform int chromaticAberationMode = 0;
|
||||
uniform float chromaticAberationAmount:hint_range(0,100) = 0;
|
||||
uniform int chromaticAberationSteps:hint_range(0,32) = 1;
|
||||
uniform vec2 chromaticAberationDirection = vec2( 1.0, 1.0 );
|
||||
uniform float chromaticAberationDirectionTowardsCenter:hint_range(-1,1) = 1.0;
|
||||
uniform float chromaticAberationCenterScale:hint_range(0,1000) = 1.0;
|
||||
uniform float chromaticAberationCenterOffset:hint_range(-1,1) = 1.0;
|
||||
uniform vec3 chromaticAberationShifts = vec3( 0.95, 1.0, 1.05 );
|
||||
uniform float chromaticAberationSmear = 1;
|
||||
|
||||
|
||||
group_uniforms;
|
||||
|
||||
// FADING
|
||||
group_uniforms Fading;
|
||||
uniform int fadingMode = 0;
|
||||
uniform sampler2D fading:source_color, repeat_disable, filter_linear;
|
||||
uniform sampler2D opacityFading:source_color, repeat_disable, filter_linear;
|
||||
uniform sampler2D sizeXfading:source_color, repeat_disable, filter_linear;
|
||||
uniform sampler2D sizeYfading:source_color, repeat_disable, filter_linear;
|
||||
uniform float fadingPower = 1.0;
|
||||
uniform float opacityFadingPower = 1.0;
|
||||
uniform float sizeXfadingPower = 1.0;
|
||||
uniform float sizeYfadingPower = 1.0;
|
||||
|
||||
varying float opacityFadeValue;
|
||||
group_uniforms;
|
||||
|
||||
|
||||
// OCCLUSION
|
||||
group_uniforms Occlusion;
|
||||
uniform int occlusionMode = 0;
|
||||
uniform sampler2D depthTexture:hint_depth_texture;
|
||||
uniform float occlusionZOffset:hint_range(-30,30) = 0;
|
||||
uniform int occlusionTestMaxSteps = 10;
|
||||
uniform float occlusionTestStepStride = 1;
|
||||
uniform float occlusionTest_ViewDependingScaleAmount:hint_range(0,1) = 0.5;
|
||||
uniform float occlusionTest_ViewDependingDistance = 100;
|
||||
uniform float occlusionToSize = 0.5;
|
||||
|
||||
varying float occlusionAlpha;
|
||||
group_uniforms;
|
||||
|
||||
|
||||
varying vec4 combinedColor;
|
||||
varying vec2 centerDirection;
|
||||
varying float zIndex;
|
||||
// varying float nodeRotationOffset;
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://dijr3jilsh8ue
|
||||
|
|
@ -0,0 +1,250 @@
|
|||
|
||||
void vertex()
|
||||
{
|
||||
float normalizedIndex = VERTEX.z;
|
||||
VERTEX.z = 0.0;
|
||||
zIndex = normalizedIndex;
|
||||
|
||||
vec3 viewOffset = viewToWorldDirection( vec3( 0, 0, occlusionZOffset ), INV_VIEW_MATRIX );
|
||||
vec3 nodePositionView = worldToView( NODE_POSITION_WORLD + viewOffset, VIEW_MATRIX );
|
||||
vec2 screenPosition = viewToScreen( nodePositionView, PROJECTION_MATRIX );
|
||||
|
||||
float fadeValue = 1.0;
|
||||
float opacityValue = 1.0;
|
||||
float sizeXFade = 1.0;
|
||||
float sizeYFade = 1.0;
|
||||
|
||||
if ( fadingMode == 1 )
|
||||
{
|
||||
float edgeDistance = max( 0.0, -sdBox( screenPosition - vec2( 0.5 ), vec2( 0.5 ) ) ) * 2.0;
|
||||
|
||||
fadeValue = pow( edgeDistance, fadingPower );
|
||||
opacityValue = pow( edgeDistance, opacityFadingPower );
|
||||
sizeXFade = pow( edgeDistance, sizeXfadingPower );
|
||||
sizeYFade = pow( edgeDistance, sizeYfadingPower );
|
||||
}
|
||||
else if ( fadingMode == 2 )
|
||||
{
|
||||
fadeValue = textureLod( fading, screenPosition, 0.0 ).r;
|
||||
opacityValue = textureLod( opacityFading, screenPosition, 0.0 ).r;
|
||||
sizeXFade = textureLod( sizeXfading, screenPosition, 0.0 ).r;
|
||||
sizeYFade = textureLod( sizeYfading, screenPosition, 0.0 ).r;
|
||||
}
|
||||
|
||||
|
||||
float nodeScale = length( extractScale( MODEL_MATRIX ) );
|
||||
|
||||
float sX = sizeX * sizeXFade;
|
||||
float sY = sizeY * sizeYFade;
|
||||
|
||||
vec2 uvPixelSize = vec2( 1.0, 1.0 ) / VIEWPORT_SIZE ;
|
||||
|
||||
vec2 scaledUVPixelSize = uvPixelSize * max( 1.0, nodePositionView.z / occlusionTest_ViewDependingDistance );
|
||||
uvPixelSize = mix( uvPixelSize, scaledUVPixelSize, occlusionTest_ViewDependingScaleAmount );
|
||||
|
||||
float occlusionValue = occlusionMode == 0 ? 1.0 : occlusionMode == 1 ?
|
||||
|
||||
getQuickOcclusionAt( depthTexture, nodePositionView, uvPixelSize,
|
||||
occlusionTestMaxSteps, occlusionTestStepStride,
|
||||
PROJECTION_MATRIX, INV_PROJECTION_MATRIX ) :
|
||||
|
||||
getOcclusionAt( depthTexture, nodePositionView, uvPixelSize,
|
||||
occlusionTestMaxSteps, occlusionTestStepStride,
|
||||
PROJECTION_MATRIX, INV_PROJECTION_MATRIX );
|
||||
|
||||
occlusionAlpha = occlusionValue * fadeValue;
|
||||
|
||||
float camDist = length( NODE_POSITION_WORLD - CAMERA_POSITION_WORLD );
|
||||
|
||||
float occlusionSizeFactor = mix( 1.0, occlusionAlpha, occlusionToSize );
|
||||
vec2 sizeScaled = vec2( sX, sY ) * occlusionSizeFactor * nodeScale;
|
||||
vec2 size = mix( sizeScaled * worldSizeScale, sizeScaled * camDist * 0.1 * screenSizeScale, worldSize_vs_screenSize );
|
||||
|
||||
float randomScale = mix( randomScaleMin, randomScaleMax, random( vec2( normalizedIndex ) ) );
|
||||
|
||||
size *= randomScale;
|
||||
size *= extension;
|
||||
|
||||
setFlareOffsetMatrix(
|
||||
MODELVIEW_MATRIX, VIEW_MATRIX, MAIN_CAM_INV_VIEW_MATRIX, MODEL_MATRIX,
|
||||
screenOffsetScale + screenOffsetLayerSpread * ( normalizedIndex * 2.0 - 1.0 ),
|
||||
screenOffset
|
||||
);
|
||||
|
||||
vec2 offsetScreenPosition = localToScreen( vec3( 0.0 ), MODELVIEW_MATRIX, PROJECTION_MATRIX );
|
||||
|
||||
float combinedRotation = rotation;
|
||||
combinedRotation += rotationPerLayer * ( normalizedIndex * 2.0 - 1.0 );
|
||||
combinedRotation += ( offsetScreenPosition.x * 2.0 - 1.0 ) * rotationOverX;
|
||||
|
||||
|
||||
float combinedRotationRadians = combinedRotation / 180.0 * PI;
|
||||
|
||||
setFlareScaleRotation(
|
||||
MODELVIEW_MATRIX, MODELVIEW_NORMAL_MATRIX, MODEL_MATRIX,
|
||||
vec3( size.x, size.y, 1.0 ), combinedRotationRadians
|
||||
);
|
||||
|
||||
|
||||
|
||||
// nodeRotationOffset = ( offsetScreenPosition.x * 2.0 - 1.0 ) * rotationOverX;
|
||||
// nodeRotationOffset += rotationPerLayer * ( normalizedIndex * 2.0 - 1.0 ) ;
|
||||
|
||||
centerDirection = ( offsetScreenPosition - screenPosition );
|
||||
centerDirection.y *= -1.0;
|
||||
|
||||
centerDirection = -centerDirection;
|
||||
|
||||
centerDirection = rotate_v2( centerDirection, -combinedRotationRadians );
|
||||
|
||||
combinedColor = color;
|
||||
|
||||
float rgbScale = getRGBScale( combinedColor.rgb );
|
||||
|
||||
float randomHueOffset = mix( minHueRandom, maxHueRandom, random( vec2( normalizedIndex ) + vec2( 0.23, 0.13 ) ) );
|
||||
|
||||
combinedColor.rgb = changeHueOfRGB( combinedColor.rgb / rgbScale, randomHueOffset ) * rgbScale;
|
||||
|
||||
GENERATE_FLARE_VERTEX_DATA
|
||||
|
||||
opacityFadeValue = fadeValue * opacityValue;
|
||||
|
||||
float opacityMapValue = textureLod( opacityCurve, vec2( normalizedIndex, 0.0 ), 0.0 ).r;
|
||||
|
||||
opacityFadeValue *= opacityMapValue * occlusionAlpha * opacity;
|
||||
|
||||
UV = ( UV - vec2( 0.5 ) ) * extension + vec2( 0.5 );
|
||||
// UV = rotateAround_v2( UV, ( nodeRotationOffset + rotation ) / 180.0 * 3.141592653, vec2(0.5) );
|
||||
}
|
||||
|
||||
|
||||
float mirrorValue( float x )
|
||||
{
|
||||
float t = mod( x, 2.0 );
|
||||
return ( t <= 1.0 ) ? t : 2.0 - t;
|
||||
}
|
||||
|
||||
vec2 mirrorUV( vec2 uv )
|
||||
{
|
||||
return vec2( mirrorValue( uv.x ), mirrorValue( uv.y ) );
|
||||
}
|
||||
|
||||
vec2 handleOverflow( vec2 uv )
|
||||
{
|
||||
return clamp( uv, vec2( 0.0 ), vec2( 1.0 ) );
|
||||
// return mirrorUV( uv );
|
||||
}
|
||||
|
||||
vec4 sampleChromatic( vec2 uv, vec2 dir, int steps, vec3 shifts, float smear )
|
||||
{
|
||||
vec4 combinedChromatic = vec4( 0.0 );
|
||||
|
||||
|
||||
float weights = 0.0;
|
||||
|
||||
for ( int i = -steps; i <= steps; i++ )
|
||||
{
|
||||
float t = float( i ) / float( steps );
|
||||
float w = 1.0 - abs( t );
|
||||
vec2 stepDir = dir * pow( smear, t );
|
||||
|
||||
vec2 rUV = uv + stepDir * shifts.r;
|
||||
rUV = handleOverflow( rUV );
|
||||
|
||||
vec2 gUV = uv + stepDir * shifts.g;
|
||||
gUV = handleOverflow( gUV );
|
||||
|
||||
vec2 bUV = uv + stepDir * shifts.b;
|
||||
bUV = handleOverflow( bUV );
|
||||
|
||||
vec4 colorR = generateFlare( rUV, color, opacityFadeValue );
|
||||
vec4 colorG = generateFlare( gUV, color, opacityFadeValue );
|
||||
vec4 colorB = generateFlare( bUV, color, opacityFadeValue );
|
||||
|
||||
combinedChromatic.r += colorR.r * w;
|
||||
combinedChromatic.g += colorG.g * w;
|
||||
combinedChromatic.b += colorB.b * w;
|
||||
combinedChromatic.a += colorG.a * w;
|
||||
|
||||
weights += w;
|
||||
}
|
||||
|
||||
combinedChromatic /= weights;
|
||||
|
||||
return combinedChromatic;
|
||||
}
|
||||
|
||||
void fragment()
|
||||
{
|
||||
|
||||
vec4 flareColor = vec4( 0.0 );
|
||||
float centerLength = length( centerDirection );
|
||||
|
||||
|
||||
|
||||
float caAmount = chromaticAberationAmount;
|
||||
|
||||
if ( abs( chromaticAberationDirectionTowardsCenter ) > 0.0 )
|
||||
{
|
||||
float maxLength = clamp( centerLength * 100.0, 0.0, 1.0 );
|
||||
caAmount = maxLength * chromaticAberationAmount;
|
||||
}
|
||||
|
||||
|
||||
vec2 uv = UV;
|
||||
|
||||
|
||||
float rx = clamp( perlin( ( vec2( zIndex * 12.03 ) + UV ) * shapeNoiseScale ), 0.0, 1.0 );
|
||||
|
||||
float noiseOpacity = mix( 1.0, rx, shapeNoiseAmount );
|
||||
|
||||
if ( chromaticAberationMode != 0 && caAmount > 0.0 && chromaticAberationSteps > 0 )
|
||||
{
|
||||
|
||||
vec2 alignedDir = chromaticAberationDirection;
|
||||
|
||||
if ( length( alignedDir ) > 1.0 )
|
||||
{
|
||||
alignedDir = normalize( chromaticAberationDirection );
|
||||
}
|
||||
|
||||
vec2 normDir = alignedDir;
|
||||
|
||||
if ( centerLength > 0.0 && chromaticAberationDirectionTowardsCenter != 0.0 )
|
||||
{
|
||||
float amount = chromaticAberationDirectionTowardsCenter;
|
||||
vec2 normalizedCenterDirection = normalize( centerDirection );
|
||||
|
||||
vec2 centerDir = normalizedCenterDirection;
|
||||
|
||||
if ( amount < 0.0 )
|
||||
{
|
||||
amount = -amount;
|
||||
centerDir = -centerDir;
|
||||
}
|
||||
|
||||
alignedDir = mix( normDir, centerDir, amount );
|
||||
alignedDir = normalize( alignedDir ) / vec2( 100.0 );
|
||||
}
|
||||
|
||||
float centerScale = 1.0;
|
||||
float centerTreshold = 0.1;
|
||||
|
||||
if ( centerLength < centerTreshold )
|
||||
{
|
||||
centerScale = centerLength / centerTreshold;
|
||||
}
|
||||
|
||||
// flareColor.rgb = vec3( centerLength, centerScale, 1.0 );
|
||||
// flareColor.a = 1.0;
|
||||
flareColor = sampleChromatic( uv, alignedDir * caAmount * centerScale, chromaticAberationSteps, chromaticAberationShifts, chromaticAberationSmear );
|
||||
}
|
||||
else
|
||||
{
|
||||
flareColor = generateFlare( uv, color, opacityFadeValue );
|
||||
}
|
||||
|
||||
ALBEDO = flareColor.rgb;
|
||||
ALPHA = flareColor.a * noiseOpacity;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://7j2y6whs3pq7
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class BaseFlareShader
|
||||
{
|
||||
/*
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"C:/rokojori/godot-projects/winter-tales/addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/BaseFlare/BaseFlare.gdshader"
|
||||
);
|
||||
*/
|
||||
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName minHueRandom = FloatPropertyName.Create( "minHueRandom" );
|
||||
public static readonly FloatPropertyName maxHueRandom = FloatPropertyName.Create( "maxHueRandom" );
|
||||
public static readonly FloatPropertyName shapeNoiseAmount = FloatPropertyName.Create( "shapeNoiseAmount" );
|
||||
public static readonly FloatPropertyName shapeNoiseScale = FloatPropertyName.Create( "shapeNoiseScale" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly FloatPropertyName randomScaleMin = FloatPropertyName.Create( "randomScaleMin" );
|
||||
public static readonly FloatPropertyName randomScaleMax = FloatPropertyName.Create( "randomScaleMax" );
|
||||
public static readonly FloatPropertyName extension = FloatPropertyName.Create( "extension" );
|
||||
public static readonly FloatPropertyName rotation = FloatPropertyName.Create( "rotation" );
|
||||
public static readonly FloatPropertyName rotationOverX = FloatPropertyName.Create( "rotationOverX" );
|
||||
public static readonly FloatPropertyName rotationOverY = FloatPropertyName.Create( "rotationOverY" );
|
||||
public static readonly FloatPropertyName rotationPerLayer = FloatPropertyName.Create( "rotationPerLayer" );
|
||||
public static readonly Vector2PropertyName screenOffset = Vector2PropertyName.Create( "screenOffset" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly IntPropertyName chromaticAberationMode = IntPropertyName.Create( "chromaticAberationMode" );
|
||||
public static readonly FloatPropertyName chromaticAberationAmount = FloatPropertyName.Create( "chromaticAberationAmount" );
|
||||
public static readonly IntPropertyName chromaticAberationSteps = IntPropertyName.Create( "chromaticAberationSteps" );
|
||||
public static readonly Vector2PropertyName chromaticAberationDirection = Vector2PropertyName.Create( "chromaticAberationDirection" );
|
||||
public static readonly FloatPropertyName chromaticAberationDirectionTowardsCenter = FloatPropertyName.Create( "chromaticAberationDirectionTowardsCenter" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterScale = FloatPropertyName.Create( "chromaticAberationCenterScale" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterOffset = FloatPropertyName.Create( "chromaticAberationCenterOffset" );
|
||||
public static readonly Vector3PropertyName chromaticAberationShifts = Vector3PropertyName.Create( "chromaticAberationShifts" );
|
||||
public static readonly FloatPropertyName chromaticAberationSmear = FloatPropertyName.Create( "chromaticAberationSmear" );
|
||||
public static readonly IntPropertyName fadingMode = IntPropertyName.Create( "fadingMode" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly FloatPropertyName fadingPower = FloatPropertyName.Create( "fadingPower" );
|
||||
public static readonly FloatPropertyName opacityFadingPower = FloatPropertyName.Create( "opacityFadingPower" );
|
||||
public static readonly FloatPropertyName sizeXfadingPower = FloatPropertyName.Create( "sizeXfadingPower" );
|
||||
public static readonly FloatPropertyName sizeYfadingPower = FloatPropertyName.Create( "sizeYfadingPower" );
|
||||
public static readonly IntPropertyName occlusionMode = IntPropertyName.Create( "occlusionMode" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
public static readonly FloatPropertyName occlusionToSize = FloatPropertyName.Create( "occlusionToSize" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class BaseFlareMaterial:CustomMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<Color> color;
|
||||
public readonly CustomMaterialProperty<float> opacity;
|
||||
public readonly CustomMaterialProperty<Texture2D> opacityCurve;
|
||||
public readonly CustomMaterialProperty<float> minHueRandom;
|
||||
public readonly CustomMaterialProperty<float> maxHueRandom;
|
||||
public readonly CustomMaterialProperty<float> shapeNoiseAmount;
|
||||
public readonly CustomMaterialProperty<float> shapeNoiseScale;
|
||||
public readonly CustomMaterialProperty<float> sizeX;
|
||||
public readonly CustomMaterialProperty<float> sizeY;
|
||||
public readonly CustomMaterialProperty<float> worldSizeScale;
|
||||
public readonly CustomMaterialProperty<float> screenSizeScale;
|
||||
public readonly CustomMaterialProperty<float> worldSizeVsScreenSize;
|
||||
public readonly CustomMaterialProperty<float> randomScaleMin;
|
||||
public readonly CustomMaterialProperty<float> randomScaleMax;
|
||||
public readonly CustomMaterialProperty<float> extension;
|
||||
public readonly CustomMaterialProperty<float> rotation;
|
||||
public readonly CustomMaterialProperty<float> rotationOverX;
|
||||
public readonly CustomMaterialProperty<float> rotationOverY;
|
||||
public readonly CustomMaterialProperty<float> rotationPerLayer;
|
||||
public readonly CustomMaterialProperty<Vector2> screenOffset;
|
||||
public readonly CustomMaterialProperty<Vector2> screenOffsetScale;
|
||||
public readonly CustomMaterialProperty<Vector2> screenOffsetLayerSpread;
|
||||
public readonly CustomMaterialProperty<int> chromaticAberationMode;
|
||||
public readonly CustomMaterialProperty<float> chromaticAberationAmount;
|
||||
public readonly CustomMaterialProperty<int> chromaticAberationSteps;
|
||||
public readonly CustomMaterialProperty<Vector2> chromaticAberationDirection;
|
||||
public readonly CustomMaterialProperty<float> chromaticAberationDirectionTowardsCenter;
|
||||
public readonly CustomMaterialProperty<float> chromaticAberationCenterScale;
|
||||
public readonly CustomMaterialProperty<float> chromaticAberationCenterOffset;
|
||||
public readonly CustomMaterialProperty<Vector3> chromaticAberationShifts;
|
||||
public readonly CustomMaterialProperty<float> chromaticAberationSmear;
|
||||
public readonly CustomMaterialProperty<int> fadingMode;
|
||||
public readonly CustomMaterialProperty<Texture2D> fading;
|
||||
public readonly CustomMaterialProperty<Texture2D> opacityFading;
|
||||
public readonly CustomMaterialProperty<Texture2D> sizeXfading;
|
||||
public readonly CustomMaterialProperty<Texture2D> sizeYfading;
|
||||
public readonly CustomMaterialProperty<float> fadingPower;
|
||||
public readonly CustomMaterialProperty<float> opacityFadingPower;
|
||||
public readonly CustomMaterialProperty<float> sizeXfadingPower;
|
||||
public readonly CustomMaterialProperty<float> sizeYfadingPower;
|
||||
public readonly CustomMaterialProperty<int> occlusionMode;
|
||||
public readonly CustomMaterialProperty<float> occlusionZOffset;
|
||||
public readonly CustomMaterialProperty<int> occlusionTestMaxSteps;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestStepStride;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestViewDependingScaleAmount;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestViewDependingDistance;
|
||||
public readonly CustomMaterialProperty<float> occlusionToSize;
|
||||
|
||||
public BaseFlareMaterial()
|
||||
{
|
||||
/*
|
||||
Shader = BaseFlareShader.shader.Get();
|
||||
*/
|
||||
|
||||
color = new CustomMaterialProperty<Color>( this, BaseFlareShader.color );
|
||||
opacity = new CustomMaterialProperty<float>( this, BaseFlareShader.opacity );
|
||||
opacityCurve = new CustomMaterialProperty<Texture2D>( this, BaseFlareShader.opacityCurve );
|
||||
minHueRandom = new CustomMaterialProperty<float>( this, BaseFlareShader.minHueRandom );
|
||||
maxHueRandom = new CustomMaterialProperty<float>( this, BaseFlareShader.maxHueRandom );
|
||||
shapeNoiseAmount = new CustomMaterialProperty<float>( this, BaseFlareShader.shapeNoiseAmount );
|
||||
shapeNoiseScale = new CustomMaterialProperty<float>( this, BaseFlareShader.shapeNoiseScale );
|
||||
sizeX = new CustomMaterialProperty<float>( this, BaseFlareShader.sizeX );
|
||||
sizeY = new CustomMaterialProperty<float>( this, BaseFlareShader.sizeY );
|
||||
worldSizeScale = new CustomMaterialProperty<float>( this, BaseFlareShader.worldSizeScale );
|
||||
screenSizeScale = new CustomMaterialProperty<float>( this, BaseFlareShader.screenSizeScale );
|
||||
worldSizeVsScreenSize = new CustomMaterialProperty<float>( this, BaseFlareShader.worldSizeVsScreenSize );
|
||||
randomScaleMin = new CustomMaterialProperty<float>( this, BaseFlareShader.randomScaleMin );
|
||||
randomScaleMax = new CustomMaterialProperty<float>( this, BaseFlareShader.randomScaleMax );
|
||||
extension = new CustomMaterialProperty<float>( this, BaseFlareShader.extension );
|
||||
rotation = new CustomMaterialProperty<float>( this, BaseFlareShader.rotation );
|
||||
rotationOverX = new CustomMaterialProperty<float>( this, BaseFlareShader.rotationOverX );
|
||||
rotationOverY = new CustomMaterialProperty<float>( this, BaseFlareShader.rotationOverY );
|
||||
rotationPerLayer = new CustomMaterialProperty<float>( this, BaseFlareShader.rotationPerLayer );
|
||||
screenOffset = new CustomMaterialProperty<Vector2>( this, BaseFlareShader.screenOffset );
|
||||
screenOffsetScale = new CustomMaterialProperty<Vector2>( this, BaseFlareShader.screenOffsetScale );
|
||||
screenOffsetLayerSpread = new CustomMaterialProperty<Vector2>( this, BaseFlareShader.screenOffsetLayerSpread );
|
||||
chromaticAberationMode = new CustomMaterialProperty<int>( this, BaseFlareShader.chromaticAberationMode );
|
||||
chromaticAberationAmount = new CustomMaterialProperty<float>( this, BaseFlareShader.chromaticAberationAmount );
|
||||
chromaticAberationSteps = new CustomMaterialProperty<int>( this, BaseFlareShader.chromaticAberationSteps );
|
||||
chromaticAberationDirection = new CustomMaterialProperty<Vector2>( this, BaseFlareShader.chromaticAberationDirection );
|
||||
chromaticAberationDirectionTowardsCenter = new CustomMaterialProperty<float>( this, BaseFlareShader.chromaticAberationDirectionTowardsCenter );
|
||||
chromaticAberationCenterScale = new CustomMaterialProperty<float>( this, BaseFlareShader.chromaticAberationCenterScale );
|
||||
chromaticAberationCenterOffset = new CustomMaterialProperty<float>( this, BaseFlareShader.chromaticAberationCenterOffset );
|
||||
chromaticAberationShifts = new CustomMaterialProperty<Vector3>( this, BaseFlareShader.chromaticAberationShifts );
|
||||
chromaticAberationSmear = new CustomMaterialProperty<float>( this, BaseFlareShader.chromaticAberationSmear );
|
||||
fadingMode = new CustomMaterialProperty<int>( this, BaseFlareShader.fadingMode );
|
||||
fading = new CustomMaterialProperty<Texture2D>( this, BaseFlareShader.fading );
|
||||
opacityFading = new CustomMaterialProperty<Texture2D>( this, BaseFlareShader.opacityFading );
|
||||
sizeXfading = new CustomMaterialProperty<Texture2D>( this, BaseFlareShader.sizeXfading );
|
||||
sizeYfading = new CustomMaterialProperty<Texture2D>( this, BaseFlareShader.sizeYfading );
|
||||
fadingPower = new CustomMaterialProperty<float>( this, BaseFlareShader.fadingPower );
|
||||
opacityFadingPower = new CustomMaterialProperty<float>( this, BaseFlareShader.opacityFadingPower );
|
||||
sizeXfadingPower = new CustomMaterialProperty<float>( this, BaseFlareShader.sizeXfadingPower );
|
||||
sizeYfadingPower = new CustomMaterialProperty<float>( this, BaseFlareShader.sizeYfadingPower );
|
||||
occlusionMode = new CustomMaterialProperty<int>( this, BaseFlareShader.occlusionMode );
|
||||
occlusionZOffset = new CustomMaterialProperty<float>( this, BaseFlareShader.occlusionZOffset );
|
||||
occlusionTestMaxSteps = new CustomMaterialProperty<int>( this, BaseFlareShader.occlusionTestMaxSteps );
|
||||
occlusionTestStepStride = new CustomMaterialProperty<float>( this, BaseFlareShader.occlusionTestStepStride );
|
||||
occlusionTestViewDependingScaleAmount = new CustomMaterialProperty<float>( this, BaseFlareShader.occlusionTestViewDependingScaleAmount );
|
||||
occlusionTestViewDependingDistance = new CustomMaterialProperty<float>( this, BaseFlareShader.occlusionTestViewDependingDistance );
|
||||
occlusionToSize = new CustomMaterialProperty<float>( this, BaseFlareShader.occlusionToSize );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://dg6f7yio6bhmg
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/Flares.gdshaderinc"
|
||||
|
||||
|
||||
|
||||
// SHAPE
|
||||
group_uniforms Shape;
|
||||
|
||||
uniform float shapeScale = 1.0;
|
||||
uniform sampler2D radialFill:source_color, filter_linear, repeat_enable;
|
||||
uniform float radialFillStrength = 1.0;
|
||||
uniform float radialFillTile = 1.0;
|
||||
uniform float radialFillOffset = 0.0;
|
||||
uniform bool radialFillRepeat = false;
|
||||
|
||||
uniform sampler2D conicFill:source_color, filter_linear, repeat_enable;
|
||||
uniform float conicFillStrength = 1.0;
|
||||
uniform float conicFillTile = 1.0;
|
||||
uniform float conicFillOffset = 0.0;
|
||||
uniform bool conicFillRepeat = false;
|
||||
|
||||
uniform float fillMultiply = 0.0;
|
||||
uniform float fillAdd = 0.0;
|
||||
|
||||
uniform float shapeColorize:hint_range(0,1) = 0.0;
|
||||
|
||||
uniform sampler2D radialMask:filter_linear, repeat_enable;
|
||||
uniform float radialMaskStrength = 1.0;
|
||||
uniform float radialMaskTile = 1.0;
|
||||
uniform float radialMaskOffset = 0.0;
|
||||
uniform bool radialMaskRepeat = false;
|
||||
|
||||
uniform sampler2D conicMask: filter_linear, repeat_enable;
|
||||
uniform float conicMaskStrength = 1.0;
|
||||
uniform float conicMaskTile = 1.0;
|
||||
uniform float conicMaskOffset = 1.0;
|
||||
uniform bool conicMaskRepeat = false;
|
||||
|
||||
uniform float maskMultiply = 0.0;
|
||||
uniform float maskAdd = 0.0;
|
||||
|
||||
group_uniforms;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/BaseFlare/BaseFlare-Variables.gdshaderinc"
|
||||
|
||||
#define GENERATE_FLARE_VERTEX_DATA \
|
||||
{ \
|
||||
\
|
||||
\
|
||||
} \
|
||||
|
||||
|
||||
vec3 colorize( vec3 _original, vec3 _color )
|
||||
{
|
||||
float _grey = ( _original.r + _original.g + _original.b ) / 3.0;
|
||||
|
||||
return _grey < 0.5 ? mix( vec3( 0.0 ), _color, _grey * 2.0 ) :
|
||||
mix( _color, vec3( 1.0 ), ( _grey - 0.5 ) * 2.0 );
|
||||
}
|
||||
|
||||
vec4 blendColor( vec4 _computedColor, vec4 _tintColor, float _colorize )
|
||||
{
|
||||
vec4 _mixed = _computedColor * _tintColor;
|
||||
vec4 _colorized = vec4( colorize( _tintColor.rgb, _computedColor.rgb ), _computedColor.a * _tintColor.a );
|
||||
|
||||
return mix( _mixed, _colorized, _colorize );
|
||||
}
|
||||
|
||||
vec2 polarUV( vec2 _uv, float angleOffset )
|
||||
{
|
||||
vec2 toCenter = _uv - vec2( 0.5 );
|
||||
float d = length( toCenter );
|
||||
float a = atan( toCenter.y, toCenter.x );
|
||||
a = ( PI + a + angleOffset + PI * 2.0 * 0.75 ) / ( 2.0 * PI );
|
||||
|
||||
vec2 polarUV = vec2( d / 0.5, mod( a, 1.0 ) );
|
||||
|
||||
return polarUV;
|
||||
}
|
||||
|
||||
vec4 sample( float x, sampler2D sampler, float strength, float tile, float offset, bool repeat )
|
||||
{
|
||||
x = x * tile + offset;
|
||||
|
||||
if ( ! repeat )
|
||||
{
|
||||
x = clamp( x, 0.0, 1.0 );
|
||||
}
|
||||
|
||||
return textureLod( sampler, vec2( x, 0.0 ), 0 ) * strength;
|
||||
}
|
||||
|
||||
vec4 generateFlare( vec2 _uv, vec4 _color, float _opacity )
|
||||
{
|
||||
_uv = ( _uv - vec2( 0.5 ) ) * shapeScale + vec2( 0.5 );
|
||||
_uv = polarUV( _uv, 0.0 );
|
||||
|
||||
vec4 _radialFill = sample( _uv.x, radialFill, radialFillStrength, radialFillTile, radialFillOffset, radialFillRepeat );
|
||||
vec4 _conicFill = sample( _uv.y, conicFill, conicFillStrength, conicFillTile, conicFillOffset, conicFillRepeat );
|
||||
|
||||
float _radialMask = sample( _uv.x, radialMask, radialMaskStrength, radialMaskTile, radialMaskOffset, radialMaskRepeat ).r;
|
||||
float _conicMask = sample( _uv.y, conicMask, conicMaskStrength, conicMaskTile, conicMaskOffset, conicMaskRepeat ).r;
|
||||
|
||||
vec4 fill = _radialFill * _conicFill * fillMultiply + fillAdd * ( _radialFill + _conicFill );
|
||||
float mask = _radialMask * _conicMask * maskMultiply + maskAdd * ( _radialMask + _conicMask );
|
||||
|
||||
vec4 mixedColor = fill;
|
||||
mixedColor.a *= mask;
|
||||
|
||||
mixedColor = blendColor( mixedColor, _color, shapeColorize );
|
||||
|
||||
// mixedColor *= _color;
|
||||
mixedColor.a *= _opacity;
|
||||
|
||||
// mixedColor = vec4( 1.0, 1.0, 1.0, _uv.x );
|
||||
|
||||
return mixedColor;
|
||||
}
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/BaseFlare/BaseFlare-VertexFragment.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bj1s1dgcv5ouu
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
shader_type spatial;
|
||||
render_mode blend_add, depth_test_disabled, cull_disabled, unshaded, fog_disabled;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/EllipseType/EllipseTypeFlare.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bbb3acmgbp5p0
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class EllipseTypeFlareAddShader
|
||||
{
|
||||
///*
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/EllipseType/Variants/EllipseTypeFlareAdd.gdshader"
|
||||
);
|
||||
//*/
|
||||
|
||||
public static readonly FloatPropertyName shapeScale = FloatPropertyName.Create( "shapeScale" );
|
||||
public static readonly Sampler2DPropertyName radialFill = Sampler2DPropertyName.Create( "radialFill" );
|
||||
public static readonly FloatPropertyName radialFillStrength = FloatPropertyName.Create( "radialFillStrength" );
|
||||
public static readonly FloatPropertyName radialFillTile = FloatPropertyName.Create( "radialFillTile" );
|
||||
public static readonly FloatPropertyName radialFillOffset = FloatPropertyName.Create( "radialFillOffset" );
|
||||
public static readonly BoolPropertyName radialFillRepeat = BoolPropertyName.Create( "radialFillRepeat" );
|
||||
public static readonly Sampler2DPropertyName conicFill = Sampler2DPropertyName.Create( "conicFill" );
|
||||
public static readonly FloatPropertyName conicFillStrength = FloatPropertyName.Create( "conicFillStrength" );
|
||||
public static readonly FloatPropertyName conicFillTile = FloatPropertyName.Create( "conicFillTile" );
|
||||
public static readonly FloatPropertyName conicFillOffset = FloatPropertyName.Create( "conicFillOffset" );
|
||||
public static readonly BoolPropertyName conicFillRepeat = BoolPropertyName.Create( "conicFillRepeat" );
|
||||
public static readonly FloatPropertyName fillMultiply = FloatPropertyName.Create( "fillMultiply" );
|
||||
public static readonly FloatPropertyName fillAdd = FloatPropertyName.Create( "fillAdd" );
|
||||
public static readonly FloatPropertyName shapeColorize = FloatPropertyName.Create( "shapeColorize" );
|
||||
public static readonly Sampler2DPropertyName radialMask = Sampler2DPropertyName.Create( "radialMask" );
|
||||
public static readonly FloatPropertyName radialMaskStrength = FloatPropertyName.Create( "radialMaskStrength" );
|
||||
public static readonly FloatPropertyName radialMaskTile = FloatPropertyName.Create( "radialMaskTile" );
|
||||
public static readonly FloatPropertyName radialMaskOffset = FloatPropertyName.Create( "radialMaskOffset" );
|
||||
public static readonly BoolPropertyName radialMaskRepeat = BoolPropertyName.Create( "radialMaskRepeat" );
|
||||
public static readonly Sampler2DPropertyName conicMask = Sampler2DPropertyName.Create( "conicMask" );
|
||||
public static readonly FloatPropertyName conicMaskStrength = FloatPropertyName.Create( "conicMaskStrength" );
|
||||
public static readonly FloatPropertyName conicMaskTile = FloatPropertyName.Create( "conicMaskTile" );
|
||||
public static readonly FloatPropertyName conicMaskOffset = FloatPropertyName.Create( "conicMaskOffset" );
|
||||
public static readonly BoolPropertyName conicMaskRepeat = BoolPropertyName.Create( "conicMaskRepeat" );
|
||||
public static readonly FloatPropertyName maskMultiply = FloatPropertyName.Create( "maskMultiply" );
|
||||
public static readonly FloatPropertyName maskAdd = FloatPropertyName.Create( "maskAdd" );
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName minHueRandom = FloatPropertyName.Create( "minHueRandom" );
|
||||
public static readonly FloatPropertyName maxHueRandom = FloatPropertyName.Create( "maxHueRandom" );
|
||||
public static readonly FloatPropertyName shapeNoiseAmount = FloatPropertyName.Create( "shapeNoiseAmount" );
|
||||
public static readonly FloatPropertyName shapeNoiseScale = FloatPropertyName.Create( "shapeNoiseScale" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly FloatPropertyName randomScaleMin = FloatPropertyName.Create( "randomScaleMin" );
|
||||
public static readonly FloatPropertyName randomScaleMax = FloatPropertyName.Create( "randomScaleMax" );
|
||||
public static readonly FloatPropertyName extension = FloatPropertyName.Create( "extension" );
|
||||
public static readonly FloatPropertyName rotation = FloatPropertyName.Create( "rotation" );
|
||||
public static readonly FloatPropertyName rotationOverX = FloatPropertyName.Create( "rotationOverX" );
|
||||
public static readonly FloatPropertyName rotationOverY = FloatPropertyName.Create( "rotationOverY" );
|
||||
public static readonly FloatPropertyName rotationPerLayer = FloatPropertyName.Create( "rotationPerLayer" );
|
||||
public static readonly Vector2PropertyName screenOffset = Vector2PropertyName.Create( "screenOffset" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly IntPropertyName chromaticAberationMode = IntPropertyName.Create( "chromaticAberationMode" );
|
||||
public static readonly FloatPropertyName chromaticAberationAmount = FloatPropertyName.Create( "chromaticAberationAmount" );
|
||||
public static readonly IntPropertyName chromaticAberationSteps = IntPropertyName.Create( "chromaticAberationSteps" );
|
||||
public static readonly Vector2PropertyName chromaticAberationDirection = Vector2PropertyName.Create( "chromaticAberationDirection" );
|
||||
public static readonly FloatPropertyName chromaticAberationDirectionTowardsCenter = FloatPropertyName.Create( "chromaticAberationDirectionTowardsCenter" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterScale = FloatPropertyName.Create( "chromaticAberationCenterScale" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterOffset = FloatPropertyName.Create( "chromaticAberationCenterOffset" );
|
||||
public static readonly Vector3PropertyName chromaticAberationShifts = Vector3PropertyName.Create( "chromaticAberationShifts" );
|
||||
public static readonly FloatPropertyName chromaticAberationSmear = FloatPropertyName.Create( "chromaticAberationSmear" );
|
||||
public static readonly IntPropertyName fadingMode = IntPropertyName.Create( "fadingMode" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly FloatPropertyName fadingPower = FloatPropertyName.Create( "fadingPower" );
|
||||
public static readonly FloatPropertyName opacityFadingPower = FloatPropertyName.Create( "opacityFadingPower" );
|
||||
public static readonly FloatPropertyName sizeXfadingPower = FloatPropertyName.Create( "sizeXfadingPower" );
|
||||
public static readonly FloatPropertyName sizeYfadingPower = FloatPropertyName.Create( "sizeYfadingPower" );
|
||||
public static readonly IntPropertyName occlusionMode = IntPropertyName.Create( "occlusionMode" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
public static readonly FloatPropertyName occlusionToSize = FloatPropertyName.Create( "occlusionToSize" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class EllipseTypeFlareAddMaterial:BaseFlareMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<float> shapeScale;
|
||||
public readonly CustomMaterialProperty<Texture2D> radialFill;
|
||||
public readonly CustomMaterialProperty<float> radialFillStrength;
|
||||
public readonly CustomMaterialProperty<float> radialFillTile;
|
||||
public readonly CustomMaterialProperty<float> radialFillOffset;
|
||||
public readonly CustomMaterialProperty<bool> radialFillRepeat;
|
||||
public readonly CustomMaterialProperty<Texture2D> conicFill;
|
||||
public readonly CustomMaterialProperty<float> conicFillStrength;
|
||||
public readonly CustomMaterialProperty<float> conicFillTile;
|
||||
public readonly CustomMaterialProperty<float> conicFillOffset;
|
||||
public readonly CustomMaterialProperty<bool> conicFillRepeat;
|
||||
public readonly CustomMaterialProperty<float> fillMultiply;
|
||||
public readonly CustomMaterialProperty<float> fillAdd;
|
||||
public readonly CustomMaterialProperty<float> shapeColorize;
|
||||
public readonly CustomMaterialProperty<Texture2D> radialMask;
|
||||
public readonly CustomMaterialProperty<float> radialMaskStrength;
|
||||
public readonly CustomMaterialProperty<float> radialMaskTile;
|
||||
public readonly CustomMaterialProperty<float> radialMaskOffset;
|
||||
public readonly CustomMaterialProperty<bool> radialMaskRepeat;
|
||||
public readonly CustomMaterialProperty<Texture2D> conicMask;
|
||||
public readonly CustomMaterialProperty<float> conicMaskStrength;
|
||||
public readonly CustomMaterialProperty<float> conicMaskTile;
|
||||
public readonly CustomMaterialProperty<float> conicMaskOffset;
|
||||
public readonly CustomMaterialProperty<bool> conicMaskRepeat;
|
||||
public readonly CustomMaterialProperty<float> maskMultiply;
|
||||
public readonly CustomMaterialProperty<float> maskAdd;
|
||||
|
||||
public EllipseTypeFlareAddMaterial()
|
||||
{
|
||||
///*
|
||||
Shader = EllipseTypeFlareAddShader.shader.Get();
|
||||
//*/
|
||||
|
||||
shapeScale = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.shapeScale );
|
||||
radialFill = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareAddShader.radialFill );
|
||||
radialFillStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.radialFillStrength );
|
||||
radialFillTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.radialFillTile );
|
||||
radialFillOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.radialFillOffset );
|
||||
radialFillRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareAddShader.radialFillRepeat );
|
||||
conicFill = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareAddShader.conicFill );
|
||||
conicFillStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.conicFillStrength );
|
||||
conicFillTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.conicFillTile );
|
||||
conicFillOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.conicFillOffset );
|
||||
conicFillRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareAddShader.conicFillRepeat );
|
||||
fillMultiply = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.fillMultiply );
|
||||
fillAdd = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.fillAdd );
|
||||
shapeColorize = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.shapeColorize );
|
||||
radialMask = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareAddShader.radialMask );
|
||||
radialMaskStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.radialMaskStrength );
|
||||
radialMaskTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.radialMaskTile );
|
||||
radialMaskOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.radialMaskOffset );
|
||||
radialMaskRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareAddShader.radialMaskRepeat );
|
||||
conicMask = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareAddShader.conicMask );
|
||||
conicMaskStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.conicMaskStrength );
|
||||
conicMaskTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.conicMaskTile );
|
||||
conicMaskOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.conicMaskOffset );
|
||||
conicMaskRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareAddShader.conicMaskRepeat );
|
||||
maskMultiply = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.maskMultiply );
|
||||
maskAdd = new CustomMaterialProperty<float>( this, EllipseTypeFlareAddShader.maskAdd );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://cc3jq0uc5ukxw
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
shader_type spatial;
|
||||
render_mode blend_mix, depth_test_disabled, cull_disabled, unshaded, fog_disabled;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/EllipseType/EllipseTypeFlare.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://dhxsdn5ken8ed
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class EllipseTypeFlareMixShader
|
||||
{
|
||||
///*
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/EllipseType/Variants/EllipseTypeFlareMix.gdshader"
|
||||
);
|
||||
//*/
|
||||
|
||||
public static readonly FloatPropertyName shapeScale = FloatPropertyName.Create( "shapeScale" );
|
||||
public static readonly Sampler2DPropertyName radialFill = Sampler2DPropertyName.Create( "radialFill" );
|
||||
public static readonly FloatPropertyName radialFillStrength = FloatPropertyName.Create( "radialFillStrength" );
|
||||
public static readonly FloatPropertyName radialFillTile = FloatPropertyName.Create( "radialFillTile" );
|
||||
public static readonly FloatPropertyName radialFillOffset = FloatPropertyName.Create( "radialFillOffset" );
|
||||
public static readonly BoolPropertyName radialFillRepeat = BoolPropertyName.Create( "radialFillRepeat" );
|
||||
public static readonly Sampler2DPropertyName conicFill = Sampler2DPropertyName.Create( "conicFill" );
|
||||
public static readonly FloatPropertyName conicFillStrength = FloatPropertyName.Create( "conicFillStrength" );
|
||||
public static readonly FloatPropertyName conicFillTile = FloatPropertyName.Create( "conicFillTile" );
|
||||
public static readonly FloatPropertyName conicFillOffset = FloatPropertyName.Create( "conicFillOffset" );
|
||||
public static readonly BoolPropertyName conicFillRepeat = BoolPropertyName.Create( "conicFillRepeat" );
|
||||
public static readonly FloatPropertyName fillMultiply = FloatPropertyName.Create( "fillMultiply" );
|
||||
public static readonly FloatPropertyName fillAdd = FloatPropertyName.Create( "fillAdd" );
|
||||
public static readonly FloatPropertyName shapeColorize = FloatPropertyName.Create( "shapeColorize" );
|
||||
public static readonly Sampler2DPropertyName radialMask = Sampler2DPropertyName.Create( "radialMask" );
|
||||
public static readonly FloatPropertyName radialMaskStrength = FloatPropertyName.Create( "radialMaskStrength" );
|
||||
public static readonly FloatPropertyName radialMaskTile = FloatPropertyName.Create( "radialMaskTile" );
|
||||
public static readonly FloatPropertyName radialMaskOffset = FloatPropertyName.Create( "radialMaskOffset" );
|
||||
public static readonly BoolPropertyName radialMaskRepeat = BoolPropertyName.Create( "radialMaskRepeat" );
|
||||
public static readonly Sampler2DPropertyName conicMask = Sampler2DPropertyName.Create( "conicMask" );
|
||||
public static readonly FloatPropertyName conicMaskStrength = FloatPropertyName.Create( "conicMaskStrength" );
|
||||
public static readonly FloatPropertyName conicMaskTile = FloatPropertyName.Create( "conicMaskTile" );
|
||||
public static readonly FloatPropertyName conicMaskOffset = FloatPropertyName.Create( "conicMaskOffset" );
|
||||
public static readonly BoolPropertyName conicMaskRepeat = BoolPropertyName.Create( "conicMaskRepeat" );
|
||||
public static readonly FloatPropertyName maskMultiply = FloatPropertyName.Create( "maskMultiply" );
|
||||
public static readonly FloatPropertyName maskAdd = FloatPropertyName.Create( "maskAdd" );
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName minHueRandom = FloatPropertyName.Create( "minHueRandom" );
|
||||
public static readonly FloatPropertyName maxHueRandom = FloatPropertyName.Create( "maxHueRandom" );
|
||||
public static readonly FloatPropertyName shapeNoiseAmount = FloatPropertyName.Create( "shapeNoiseAmount" );
|
||||
public static readonly FloatPropertyName shapeNoiseScale = FloatPropertyName.Create( "shapeNoiseScale" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly FloatPropertyName randomScaleMin = FloatPropertyName.Create( "randomScaleMin" );
|
||||
public static readonly FloatPropertyName randomScaleMax = FloatPropertyName.Create( "randomScaleMax" );
|
||||
public static readonly FloatPropertyName extension = FloatPropertyName.Create( "extension" );
|
||||
public static readonly FloatPropertyName rotation = FloatPropertyName.Create( "rotation" );
|
||||
public static readonly FloatPropertyName rotationOverX = FloatPropertyName.Create( "rotationOverX" );
|
||||
public static readonly FloatPropertyName rotationOverY = FloatPropertyName.Create( "rotationOverY" );
|
||||
public static readonly FloatPropertyName rotationPerLayer = FloatPropertyName.Create( "rotationPerLayer" );
|
||||
public static readonly Vector2PropertyName screenOffset = Vector2PropertyName.Create( "screenOffset" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly IntPropertyName chromaticAberationMode = IntPropertyName.Create( "chromaticAberationMode" );
|
||||
public static readonly FloatPropertyName chromaticAberationAmount = FloatPropertyName.Create( "chromaticAberationAmount" );
|
||||
public static readonly IntPropertyName chromaticAberationSteps = IntPropertyName.Create( "chromaticAberationSteps" );
|
||||
public static readonly Vector2PropertyName chromaticAberationDirection = Vector2PropertyName.Create( "chromaticAberationDirection" );
|
||||
public static readonly FloatPropertyName chromaticAberationDirectionTowardsCenter = FloatPropertyName.Create( "chromaticAberationDirectionTowardsCenter" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterScale = FloatPropertyName.Create( "chromaticAberationCenterScale" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterOffset = FloatPropertyName.Create( "chromaticAberationCenterOffset" );
|
||||
public static readonly Vector3PropertyName chromaticAberationShifts = Vector3PropertyName.Create( "chromaticAberationShifts" );
|
||||
public static readonly FloatPropertyName chromaticAberationSmear = FloatPropertyName.Create( "chromaticAberationSmear" );
|
||||
public static readonly IntPropertyName fadingMode = IntPropertyName.Create( "fadingMode" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly FloatPropertyName fadingPower = FloatPropertyName.Create( "fadingPower" );
|
||||
public static readonly FloatPropertyName opacityFadingPower = FloatPropertyName.Create( "opacityFadingPower" );
|
||||
public static readonly FloatPropertyName sizeXfadingPower = FloatPropertyName.Create( "sizeXfadingPower" );
|
||||
public static readonly FloatPropertyName sizeYfadingPower = FloatPropertyName.Create( "sizeYfadingPower" );
|
||||
public static readonly IntPropertyName occlusionMode = IntPropertyName.Create( "occlusionMode" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
public static readonly FloatPropertyName occlusionToSize = FloatPropertyName.Create( "occlusionToSize" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class EllipseTypeFlareMixMaterial:BaseFlareMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<float> shapeScale;
|
||||
public readonly CustomMaterialProperty<Texture2D> radialFill;
|
||||
public readonly CustomMaterialProperty<float> radialFillStrength;
|
||||
public readonly CustomMaterialProperty<float> radialFillTile;
|
||||
public readonly CustomMaterialProperty<float> radialFillOffset;
|
||||
public readonly CustomMaterialProperty<bool> radialFillRepeat;
|
||||
public readonly CustomMaterialProperty<Texture2D> conicFill;
|
||||
public readonly CustomMaterialProperty<float> conicFillStrength;
|
||||
public readonly CustomMaterialProperty<float> conicFillTile;
|
||||
public readonly CustomMaterialProperty<float> conicFillOffset;
|
||||
public readonly CustomMaterialProperty<bool> conicFillRepeat;
|
||||
public readonly CustomMaterialProperty<float> fillMultiply;
|
||||
public readonly CustomMaterialProperty<float> fillAdd;
|
||||
public readonly CustomMaterialProperty<float> shapeColorize;
|
||||
public readonly CustomMaterialProperty<Texture2D> radialMask;
|
||||
public readonly CustomMaterialProperty<float> radialMaskStrength;
|
||||
public readonly CustomMaterialProperty<float> radialMaskTile;
|
||||
public readonly CustomMaterialProperty<float> radialMaskOffset;
|
||||
public readonly CustomMaterialProperty<bool> radialMaskRepeat;
|
||||
public readonly CustomMaterialProperty<Texture2D> conicMask;
|
||||
public readonly CustomMaterialProperty<float> conicMaskStrength;
|
||||
public readonly CustomMaterialProperty<float> conicMaskTile;
|
||||
public readonly CustomMaterialProperty<float> conicMaskOffset;
|
||||
public readonly CustomMaterialProperty<bool> conicMaskRepeat;
|
||||
public readonly CustomMaterialProperty<float> maskMultiply;
|
||||
public readonly CustomMaterialProperty<float> maskAdd;
|
||||
|
||||
public EllipseTypeFlareMixMaterial()
|
||||
{
|
||||
///*
|
||||
Shader = EllipseTypeFlareMixShader.shader.Get();
|
||||
//*/
|
||||
|
||||
shapeScale = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.shapeScale );
|
||||
radialFill = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareMixShader.radialFill );
|
||||
radialFillStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.radialFillStrength );
|
||||
radialFillTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.radialFillTile );
|
||||
radialFillOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.radialFillOffset );
|
||||
radialFillRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareMixShader.radialFillRepeat );
|
||||
conicFill = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareMixShader.conicFill );
|
||||
conicFillStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.conicFillStrength );
|
||||
conicFillTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.conicFillTile );
|
||||
conicFillOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.conicFillOffset );
|
||||
conicFillRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareMixShader.conicFillRepeat );
|
||||
fillMultiply = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.fillMultiply );
|
||||
fillAdd = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.fillAdd );
|
||||
shapeColorize = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.shapeColorize );
|
||||
radialMask = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareMixShader.radialMask );
|
||||
radialMaskStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.radialMaskStrength );
|
||||
radialMaskTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.radialMaskTile );
|
||||
radialMaskOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.radialMaskOffset );
|
||||
radialMaskRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareMixShader.radialMaskRepeat );
|
||||
conicMask = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareMixShader.conicMask );
|
||||
conicMaskStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.conicMaskStrength );
|
||||
conicMaskTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.conicMaskTile );
|
||||
conicMaskOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.conicMaskOffset );
|
||||
conicMaskRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareMixShader.conicMaskRepeat );
|
||||
maskMultiply = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.maskMultiply );
|
||||
maskAdd = new CustomMaterialProperty<float>( this, EllipseTypeFlareMixShader.maskAdd );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bwvyiolbcntu
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
shader_type spatial;
|
||||
render_mode blend_mul, depth_test_disabled, cull_disabled, unshaded, fog_disabled;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/EllipseType/EllipseTypeFlare.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://cnw5dyqni2cc3
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class EllipseTypeFlareMultiplyShader
|
||||
{
|
||||
///*
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/EllipseType/Variants/EllipseTypeFlareMultiply.gdshader"
|
||||
);
|
||||
//*/
|
||||
|
||||
public static readonly FloatPropertyName shapeScale = FloatPropertyName.Create( "shapeScale" );
|
||||
public static readonly Sampler2DPropertyName radialFill = Sampler2DPropertyName.Create( "radialFill" );
|
||||
public static readonly FloatPropertyName radialFillStrength = FloatPropertyName.Create( "radialFillStrength" );
|
||||
public static readonly FloatPropertyName radialFillTile = FloatPropertyName.Create( "radialFillTile" );
|
||||
public static readonly FloatPropertyName radialFillOffset = FloatPropertyName.Create( "radialFillOffset" );
|
||||
public static readonly BoolPropertyName radialFillRepeat = BoolPropertyName.Create( "radialFillRepeat" );
|
||||
public static readonly Sampler2DPropertyName conicFill = Sampler2DPropertyName.Create( "conicFill" );
|
||||
public static readonly FloatPropertyName conicFillStrength = FloatPropertyName.Create( "conicFillStrength" );
|
||||
public static readonly FloatPropertyName conicFillTile = FloatPropertyName.Create( "conicFillTile" );
|
||||
public static readonly FloatPropertyName conicFillOffset = FloatPropertyName.Create( "conicFillOffset" );
|
||||
public static readonly BoolPropertyName conicFillRepeat = BoolPropertyName.Create( "conicFillRepeat" );
|
||||
public static readonly FloatPropertyName fillMultiply = FloatPropertyName.Create( "fillMultiply" );
|
||||
public static readonly FloatPropertyName fillAdd = FloatPropertyName.Create( "fillAdd" );
|
||||
public static readonly FloatPropertyName shapeColorize = FloatPropertyName.Create( "shapeColorize" );
|
||||
public static readonly Sampler2DPropertyName radialMask = Sampler2DPropertyName.Create( "radialMask" );
|
||||
public static readonly FloatPropertyName radialMaskStrength = FloatPropertyName.Create( "radialMaskStrength" );
|
||||
public static readonly FloatPropertyName radialMaskTile = FloatPropertyName.Create( "radialMaskTile" );
|
||||
public static readonly FloatPropertyName radialMaskOffset = FloatPropertyName.Create( "radialMaskOffset" );
|
||||
public static readonly BoolPropertyName radialMaskRepeat = BoolPropertyName.Create( "radialMaskRepeat" );
|
||||
public static readonly Sampler2DPropertyName conicMask = Sampler2DPropertyName.Create( "conicMask" );
|
||||
public static readonly FloatPropertyName conicMaskStrength = FloatPropertyName.Create( "conicMaskStrength" );
|
||||
public static readonly FloatPropertyName conicMaskTile = FloatPropertyName.Create( "conicMaskTile" );
|
||||
public static readonly FloatPropertyName conicMaskOffset = FloatPropertyName.Create( "conicMaskOffset" );
|
||||
public static readonly BoolPropertyName conicMaskRepeat = BoolPropertyName.Create( "conicMaskRepeat" );
|
||||
public static readonly FloatPropertyName maskMultiply = FloatPropertyName.Create( "maskMultiply" );
|
||||
public static readonly FloatPropertyName maskAdd = FloatPropertyName.Create( "maskAdd" );
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName minHueRandom = FloatPropertyName.Create( "minHueRandom" );
|
||||
public static readonly FloatPropertyName maxHueRandom = FloatPropertyName.Create( "maxHueRandom" );
|
||||
public static readonly FloatPropertyName shapeNoiseAmount = FloatPropertyName.Create( "shapeNoiseAmount" );
|
||||
public static readonly FloatPropertyName shapeNoiseScale = FloatPropertyName.Create( "shapeNoiseScale" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly FloatPropertyName randomScaleMin = FloatPropertyName.Create( "randomScaleMin" );
|
||||
public static readonly FloatPropertyName randomScaleMax = FloatPropertyName.Create( "randomScaleMax" );
|
||||
public static readonly FloatPropertyName extension = FloatPropertyName.Create( "extension" );
|
||||
public static readonly FloatPropertyName rotation = FloatPropertyName.Create( "rotation" );
|
||||
public static readonly FloatPropertyName rotationOverX = FloatPropertyName.Create( "rotationOverX" );
|
||||
public static readonly FloatPropertyName rotationOverY = FloatPropertyName.Create( "rotationOverY" );
|
||||
public static readonly FloatPropertyName rotationPerLayer = FloatPropertyName.Create( "rotationPerLayer" );
|
||||
public static readonly Vector2PropertyName screenOffset = Vector2PropertyName.Create( "screenOffset" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly IntPropertyName chromaticAberationMode = IntPropertyName.Create( "chromaticAberationMode" );
|
||||
public static readonly FloatPropertyName chromaticAberationAmount = FloatPropertyName.Create( "chromaticAberationAmount" );
|
||||
public static readonly IntPropertyName chromaticAberationSteps = IntPropertyName.Create( "chromaticAberationSteps" );
|
||||
public static readonly Vector2PropertyName chromaticAberationDirection = Vector2PropertyName.Create( "chromaticAberationDirection" );
|
||||
public static readonly FloatPropertyName chromaticAberationDirectionTowardsCenter = FloatPropertyName.Create( "chromaticAberationDirectionTowardsCenter" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterScale = FloatPropertyName.Create( "chromaticAberationCenterScale" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterOffset = FloatPropertyName.Create( "chromaticAberationCenterOffset" );
|
||||
public static readonly Vector3PropertyName chromaticAberationShifts = Vector3PropertyName.Create( "chromaticAberationShifts" );
|
||||
public static readonly FloatPropertyName chromaticAberationSmear = FloatPropertyName.Create( "chromaticAberationSmear" );
|
||||
public static readonly IntPropertyName fadingMode = IntPropertyName.Create( "fadingMode" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly FloatPropertyName fadingPower = FloatPropertyName.Create( "fadingPower" );
|
||||
public static readonly FloatPropertyName opacityFadingPower = FloatPropertyName.Create( "opacityFadingPower" );
|
||||
public static readonly FloatPropertyName sizeXfadingPower = FloatPropertyName.Create( "sizeXfadingPower" );
|
||||
public static readonly FloatPropertyName sizeYfadingPower = FloatPropertyName.Create( "sizeYfadingPower" );
|
||||
public static readonly IntPropertyName occlusionMode = IntPropertyName.Create( "occlusionMode" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
public static readonly FloatPropertyName occlusionToSize = FloatPropertyName.Create( "occlusionToSize" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class EllipseTypeFlareMultiplyMaterial:BaseFlareMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<float> shapeScale;
|
||||
public readonly CustomMaterialProperty<Texture2D> radialFill;
|
||||
public readonly CustomMaterialProperty<float> radialFillStrength;
|
||||
public readonly CustomMaterialProperty<float> radialFillTile;
|
||||
public readonly CustomMaterialProperty<float> radialFillOffset;
|
||||
public readonly CustomMaterialProperty<bool> radialFillRepeat;
|
||||
public readonly CustomMaterialProperty<Texture2D> conicFill;
|
||||
public readonly CustomMaterialProperty<float> conicFillStrength;
|
||||
public readonly CustomMaterialProperty<float> conicFillTile;
|
||||
public readonly CustomMaterialProperty<float> conicFillOffset;
|
||||
public readonly CustomMaterialProperty<bool> conicFillRepeat;
|
||||
public readonly CustomMaterialProperty<float> fillMultiply;
|
||||
public readonly CustomMaterialProperty<float> fillAdd;
|
||||
public readonly CustomMaterialProperty<float> shapeColorize;
|
||||
public readonly CustomMaterialProperty<Texture2D> radialMask;
|
||||
public readonly CustomMaterialProperty<float> radialMaskStrength;
|
||||
public readonly CustomMaterialProperty<float> radialMaskTile;
|
||||
public readonly CustomMaterialProperty<float> radialMaskOffset;
|
||||
public readonly CustomMaterialProperty<bool> radialMaskRepeat;
|
||||
public readonly CustomMaterialProperty<Texture2D> conicMask;
|
||||
public readonly CustomMaterialProperty<float> conicMaskStrength;
|
||||
public readonly CustomMaterialProperty<float> conicMaskTile;
|
||||
public readonly CustomMaterialProperty<float> conicMaskOffset;
|
||||
public readonly CustomMaterialProperty<bool> conicMaskRepeat;
|
||||
public readonly CustomMaterialProperty<float> maskMultiply;
|
||||
public readonly CustomMaterialProperty<float> maskAdd;
|
||||
|
||||
public EllipseTypeFlareMultiplyMaterial()
|
||||
{
|
||||
///*
|
||||
Shader = EllipseTypeFlareMultiplyShader.shader.Get();
|
||||
//*/
|
||||
|
||||
shapeScale = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.shapeScale );
|
||||
radialFill = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareMultiplyShader.radialFill );
|
||||
radialFillStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.radialFillStrength );
|
||||
radialFillTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.radialFillTile );
|
||||
radialFillOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.radialFillOffset );
|
||||
radialFillRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareMultiplyShader.radialFillRepeat );
|
||||
conicFill = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareMultiplyShader.conicFill );
|
||||
conicFillStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.conicFillStrength );
|
||||
conicFillTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.conicFillTile );
|
||||
conicFillOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.conicFillOffset );
|
||||
conicFillRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareMultiplyShader.conicFillRepeat );
|
||||
fillMultiply = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.fillMultiply );
|
||||
fillAdd = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.fillAdd );
|
||||
shapeColorize = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.shapeColorize );
|
||||
radialMask = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareMultiplyShader.radialMask );
|
||||
radialMaskStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.radialMaskStrength );
|
||||
radialMaskTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.radialMaskTile );
|
||||
radialMaskOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.radialMaskOffset );
|
||||
radialMaskRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareMultiplyShader.radialMaskRepeat );
|
||||
conicMask = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareMultiplyShader.conicMask );
|
||||
conicMaskStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.conicMaskStrength );
|
||||
conicMaskTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.conicMaskTile );
|
||||
conicMaskOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.conicMaskOffset );
|
||||
conicMaskRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareMultiplyShader.conicMaskRepeat );
|
||||
maskMultiply = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.maskMultiply );
|
||||
maskAdd = new CustomMaterialProperty<float>( this, EllipseTypeFlareMultiplyShader.maskAdd );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bqgmn4pb6dfxy
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
shader_type spatial;
|
||||
render_mode blend_sub, depth_test_disabled, cull_disabled, unshaded, fog_disabled;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/EllipseType/EllipseTypeFlare.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://yiju1m12j0o5
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class EllipseTypeFlareSubtractShader
|
||||
{
|
||||
///*
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/EllipseType/Variants/EllipseTypeFlareSubtract.gdshader"
|
||||
);
|
||||
//*/
|
||||
|
||||
public static readonly FloatPropertyName shapeScale = FloatPropertyName.Create( "shapeScale" );
|
||||
public static readonly Sampler2DPropertyName radialFill = Sampler2DPropertyName.Create( "radialFill" );
|
||||
public static readonly FloatPropertyName radialFillStrength = FloatPropertyName.Create( "radialFillStrength" );
|
||||
public static readonly FloatPropertyName radialFillTile = FloatPropertyName.Create( "radialFillTile" );
|
||||
public static readonly FloatPropertyName radialFillOffset = FloatPropertyName.Create( "radialFillOffset" );
|
||||
public static readonly BoolPropertyName radialFillRepeat = BoolPropertyName.Create( "radialFillRepeat" );
|
||||
public static readonly Sampler2DPropertyName conicFill = Sampler2DPropertyName.Create( "conicFill" );
|
||||
public static readonly FloatPropertyName conicFillStrength = FloatPropertyName.Create( "conicFillStrength" );
|
||||
public static readonly FloatPropertyName conicFillTile = FloatPropertyName.Create( "conicFillTile" );
|
||||
public static readonly FloatPropertyName conicFillOffset = FloatPropertyName.Create( "conicFillOffset" );
|
||||
public static readonly BoolPropertyName conicFillRepeat = BoolPropertyName.Create( "conicFillRepeat" );
|
||||
public static readonly FloatPropertyName fillMultiply = FloatPropertyName.Create( "fillMultiply" );
|
||||
public static readonly FloatPropertyName fillAdd = FloatPropertyName.Create( "fillAdd" );
|
||||
public static readonly FloatPropertyName shapeColorize = FloatPropertyName.Create( "shapeColorize" );
|
||||
public static readonly Sampler2DPropertyName radialMask = Sampler2DPropertyName.Create( "radialMask" );
|
||||
public static readonly FloatPropertyName radialMaskStrength = FloatPropertyName.Create( "radialMaskStrength" );
|
||||
public static readonly FloatPropertyName radialMaskTile = FloatPropertyName.Create( "radialMaskTile" );
|
||||
public static readonly FloatPropertyName radialMaskOffset = FloatPropertyName.Create( "radialMaskOffset" );
|
||||
public static readonly BoolPropertyName radialMaskRepeat = BoolPropertyName.Create( "radialMaskRepeat" );
|
||||
public static readonly Sampler2DPropertyName conicMask = Sampler2DPropertyName.Create( "conicMask" );
|
||||
public static readonly FloatPropertyName conicMaskStrength = FloatPropertyName.Create( "conicMaskStrength" );
|
||||
public static readonly FloatPropertyName conicMaskTile = FloatPropertyName.Create( "conicMaskTile" );
|
||||
public static readonly FloatPropertyName conicMaskOffset = FloatPropertyName.Create( "conicMaskOffset" );
|
||||
public static readonly BoolPropertyName conicMaskRepeat = BoolPropertyName.Create( "conicMaskRepeat" );
|
||||
public static readonly FloatPropertyName maskMultiply = FloatPropertyName.Create( "maskMultiply" );
|
||||
public static readonly FloatPropertyName maskAdd = FloatPropertyName.Create( "maskAdd" );
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName minHueRandom = FloatPropertyName.Create( "minHueRandom" );
|
||||
public static readonly FloatPropertyName maxHueRandom = FloatPropertyName.Create( "maxHueRandom" );
|
||||
public static readonly FloatPropertyName shapeNoiseAmount = FloatPropertyName.Create( "shapeNoiseAmount" );
|
||||
public static readonly FloatPropertyName shapeNoiseScale = FloatPropertyName.Create( "shapeNoiseScale" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly FloatPropertyName randomScaleMin = FloatPropertyName.Create( "randomScaleMin" );
|
||||
public static readonly FloatPropertyName randomScaleMax = FloatPropertyName.Create( "randomScaleMax" );
|
||||
public static readonly FloatPropertyName extension = FloatPropertyName.Create( "extension" );
|
||||
public static readonly FloatPropertyName rotation = FloatPropertyName.Create( "rotation" );
|
||||
public static readonly FloatPropertyName rotationOverX = FloatPropertyName.Create( "rotationOverX" );
|
||||
public static readonly FloatPropertyName rotationOverY = FloatPropertyName.Create( "rotationOverY" );
|
||||
public static readonly FloatPropertyName rotationPerLayer = FloatPropertyName.Create( "rotationPerLayer" );
|
||||
public static readonly Vector2PropertyName screenOffset = Vector2PropertyName.Create( "screenOffset" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly IntPropertyName chromaticAberationMode = IntPropertyName.Create( "chromaticAberationMode" );
|
||||
public static readonly FloatPropertyName chromaticAberationAmount = FloatPropertyName.Create( "chromaticAberationAmount" );
|
||||
public static readonly IntPropertyName chromaticAberationSteps = IntPropertyName.Create( "chromaticAberationSteps" );
|
||||
public static readonly Vector2PropertyName chromaticAberationDirection = Vector2PropertyName.Create( "chromaticAberationDirection" );
|
||||
public static readonly FloatPropertyName chromaticAberationDirectionTowardsCenter = FloatPropertyName.Create( "chromaticAberationDirectionTowardsCenter" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterScale = FloatPropertyName.Create( "chromaticAberationCenterScale" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterOffset = FloatPropertyName.Create( "chromaticAberationCenterOffset" );
|
||||
public static readonly Vector3PropertyName chromaticAberationShifts = Vector3PropertyName.Create( "chromaticAberationShifts" );
|
||||
public static readonly FloatPropertyName chromaticAberationSmear = FloatPropertyName.Create( "chromaticAberationSmear" );
|
||||
public static readonly IntPropertyName fadingMode = IntPropertyName.Create( "fadingMode" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly FloatPropertyName fadingPower = FloatPropertyName.Create( "fadingPower" );
|
||||
public static readonly FloatPropertyName opacityFadingPower = FloatPropertyName.Create( "opacityFadingPower" );
|
||||
public static readonly FloatPropertyName sizeXfadingPower = FloatPropertyName.Create( "sizeXfadingPower" );
|
||||
public static readonly FloatPropertyName sizeYfadingPower = FloatPropertyName.Create( "sizeYfadingPower" );
|
||||
public static readonly IntPropertyName occlusionMode = IntPropertyName.Create( "occlusionMode" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
public static readonly FloatPropertyName occlusionToSize = FloatPropertyName.Create( "occlusionToSize" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class EllipseTypeFlareSubtractMaterial:BaseFlareMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<float> shapeScale;
|
||||
public readonly CustomMaterialProperty<Texture2D> radialFill;
|
||||
public readonly CustomMaterialProperty<float> radialFillStrength;
|
||||
public readonly CustomMaterialProperty<float> radialFillTile;
|
||||
public readonly CustomMaterialProperty<float> radialFillOffset;
|
||||
public readonly CustomMaterialProperty<bool> radialFillRepeat;
|
||||
public readonly CustomMaterialProperty<Texture2D> conicFill;
|
||||
public readonly CustomMaterialProperty<float> conicFillStrength;
|
||||
public readonly CustomMaterialProperty<float> conicFillTile;
|
||||
public readonly CustomMaterialProperty<float> conicFillOffset;
|
||||
public readonly CustomMaterialProperty<bool> conicFillRepeat;
|
||||
public readonly CustomMaterialProperty<float> fillMultiply;
|
||||
public readonly CustomMaterialProperty<float> fillAdd;
|
||||
public readonly CustomMaterialProperty<float> shapeColorize;
|
||||
public readonly CustomMaterialProperty<Texture2D> radialMask;
|
||||
public readonly CustomMaterialProperty<float> radialMaskStrength;
|
||||
public readonly CustomMaterialProperty<float> radialMaskTile;
|
||||
public readonly CustomMaterialProperty<float> radialMaskOffset;
|
||||
public readonly CustomMaterialProperty<bool> radialMaskRepeat;
|
||||
public readonly CustomMaterialProperty<Texture2D> conicMask;
|
||||
public readonly CustomMaterialProperty<float> conicMaskStrength;
|
||||
public readonly CustomMaterialProperty<float> conicMaskTile;
|
||||
public readonly CustomMaterialProperty<float> conicMaskOffset;
|
||||
public readonly CustomMaterialProperty<bool> conicMaskRepeat;
|
||||
public readonly CustomMaterialProperty<float> maskMultiply;
|
||||
public readonly CustomMaterialProperty<float> maskAdd;
|
||||
|
||||
public EllipseTypeFlareSubtractMaterial()
|
||||
{
|
||||
///*
|
||||
Shader = EllipseTypeFlareSubtractShader.shader.Get();
|
||||
//*/
|
||||
|
||||
shapeScale = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.shapeScale );
|
||||
radialFill = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareSubtractShader.radialFill );
|
||||
radialFillStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.radialFillStrength );
|
||||
radialFillTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.radialFillTile );
|
||||
radialFillOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.radialFillOffset );
|
||||
radialFillRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareSubtractShader.radialFillRepeat );
|
||||
conicFill = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareSubtractShader.conicFill );
|
||||
conicFillStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.conicFillStrength );
|
||||
conicFillTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.conicFillTile );
|
||||
conicFillOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.conicFillOffset );
|
||||
conicFillRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareSubtractShader.conicFillRepeat );
|
||||
fillMultiply = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.fillMultiply );
|
||||
fillAdd = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.fillAdd );
|
||||
shapeColorize = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.shapeColorize );
|
||||
radialMask = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareSubtractShader.radialMask );
|
||||
radialMaskStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.radialMaskStrength );
|
||||
radialMaskTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.radialMaskTile );
|
||||
radialMaskOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.radialMaskOffset );
|
||||
radialMaskRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareSubtractShader.radialMaskRepeat );
|
||||
conicMask = new CustomMaterialProperty<Texture2D>( this, EllipseTypeFlareSubtractShader.conicMask );
|
||||
conicMaskStrength = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.conicMaskStrength );
|
||||
conicMaskTile = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.conicMaskTile );
|
||||
conicMaskOffset = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.conicMaskOffset );
|
||||
conicMaskRepeat = new CustomMaterialProperty<bool>( this, EllipseTypeFlareSubtractShader.conicMaskRepeat );
|
||||
maskMultiply = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.maskMultiply );
|
||||
maskAdd = new CustomMaterialProperty<float>( this, EllipseTypeFlareSubtractShader.maskAdd );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://mdm8f3wiuww
|
||||
|
|
@ -4,10 +4,10 @@ namespace Rokojori
|
|||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class GlowFlareMixShader
|
||||
public class FlareSuperBaseShader
|
||||
{
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/GlowFlare/GlowFlareMix.gdshader"
|
||||
"C:/rokojori/godot-projects/winter-tales/addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/FlareSuperBase.gdshader"
|
||||
);
|
||||
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
|
|
@ -24,10 +24,6 @@ namespace Rokojori
|
|||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly BoolPropertyName useQuickOcclusionTest = BoolPropertyName.Create( "useQuickOcclusionTest" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
|
|
@ -38,7 +34,7 @@ namespace Rokojori
|
|||
}
|
||||
|
||||
[Tool]
|
||||
public partial class GlowFlareMixMaterial:CustomMaterial
|
||||
public partial class FlareSuperBaseMaterial:CustomMaterial
|
||||
{
|
||||
|
||||
|
||||
|
|
@ -56,10 +52,6 @@ namespace Rokojori
|
|||
public readonly CustomMaterialProperty<float> worldSizeVsScreenSize;
|
||||
public readonly CustomMaterialProperty<Vector2> screenOffsetScale;
|
||||
public readonly CustomMaterialProperty<Vector2> screenOffsetLayerSpread;
|
||||
public readonly CustomMaterialProperty<Texture2D> fading;
|
||||
public readonly CustomMaterialProperty<Texture2D> opacityFading;
|
||||
public readonly CustomMaterialProperty<Texture2D> sizeXfading;
|
||||
public readonly CustomMaterialProperty<Texture2D> sizeYfading;
|
||||
public readonly CustomMaterialProperty<bool> useQuickOcclusionTest;
|
||||
public readonly CustomMaterialProperty<float> occlusionZOffset;
|
||||
public readonly CustomMaterialProperty<int> occlusionTestMaxSteps;
|
||||
|
|
@ -67,34 +59,30 @@ namespace Rokojori
|
|||
public readonly CustomMaterialProperty<float> occlusionTestViewDependingScaleAmount;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestViewDependingDistance;
|
||||
|
||||
public GlowFlareMixMaterial()
|
||||
public FlareSuperBaseMaterial()
|
||||
{
|
||||
Shader = GlowFlareMixShader.shader.Get();
|
||||
Shader = FlareSuperBaseShader.shader.Get();
|
||||
|
||||
color = new CustomMaterialProperty<Color>( this, GlowFlareMixShader.color );
|
||||
opacity = new CustomMaterialProperty<float>( this, GlowFlareMixShader.opacity );
|
||||
opacityCurve = new CustomMaterialProperty<Texture2D>( this, GlowFlareMixShader.opacityCurve );
|
||||
colorDistortion = new CustomMaterialProperty<float>( this, GlowFlareMixShader.colorDistortion );
|
||||
alphaDistortion = new CustomMaterialProperty<float>( this, GlowFlareMixShader.alphaDistortion );
|
||||
centerHsl = new CustomMaterialProperty<Vector4>( this, GlowFlareMixShader.centerHsl );
|
||||
outsideHsl = new CustomMaterialProperty<Vector4>( this, GlowFlareMixShader.outsideHsl );
|
||||
sizeX = new CustomMaterialProperty<float>( this, GlowFlareMixShader.sizeX );
|
||||
sizeY = new CustomMaterialProperty<float>( this, GlowFlareMixShader.sizeY );
|
||||
worldSizeScale = new CustomMaterialProperty<float>( this, GlowFlareMixShader.worldSizeScale );
|
||||
screenSizeScale = new CustomMaterialProperty<float>( this, GlowFlareMixShader.screenSizeScale );
|
||||
worldSizeVsScreenSize = new CustomMaterialProperty<float>( this, GlowFlareMixShader.worldSizeVsScreenSize );
|
||||
screenOffsetScale = new CustomMaterialProperty<Vector2>( this, GlowFlareMixShader.screenOffsetScale );
|
||||
screenOffsetLayerSpread = new CustomMaterialProperty<Vector2>( this, GlowFlareMixShader.screenOffsetLayerSpread );
|
||||
fading = new CustomMaterialProperty<Texture2D>( this, GlowFlareMixShader.fading );
|
||||
opacityFading = new CustomMaterialProperty<Texture2D>( this, GlowFlareMixShader.opacityFading );
|
||||
sizeXfading = new CustomMaterialProperty<Texture2D>( this, GlowFlareMixShader.sizeXfading );
|
||||
sizeYfading = new CustomMaterialProperty<Texture2D>( this, GlowFlareMixShader.sizeYfading );
|
||||
useQuickOcclusionTest = new CustomMaterialProperty<bool>( this, GlowFlareMixShader.useQuickOcclusionTest );
|
||||
occlusionZOffset = new CustomMaterialProperty<float>( this, GlowFlareMixShader.occlusionZOffset );
|
||||
occlusionTestMaxSteps = new CustomMaterialProperty<int>( this, GlowFlareMixShader.occlusionTestMaxSteps );
|
||||
occlusionTestStepStride = new CustomMaterialProperty<float>( this, GlowFlareMixShader.occlusionTestStepStride );
|
||||
occlusionTestViewDependingScaleAmount = new CustomMaterialProperty<float>( this, GlowFlareMixShader.occlusionTestViewDependingScaleAmount );
|
||||
occlusionTestViewDependingDistance = new CustomMaterialProperty<float>( this, GlowFlareMixShader.occlusionTestViewDependingDistance );
|
||||
color = new CustomMaterialProperty<Color>( this, FlareSuperBaseShader.color );
|
||||
opacity = new CustomMaterialProperty<float>( this, FlareSuperBaseShader.opacity );
|
||||
opacityCurve = new CustomMaterialProperty<Texture2D>( this, FlareSuperBaseShader.opacityCurve );
|
||||
colorDistortion = new CustomMaterialProperty<float>( this, FlareSuperBaseShader.colorDistortion );
|
||||
alphaDistortion = new CustomMaterialProperty<float>( this, FlareSuperBaseShader.alphaDistortion );
|
||||
centerHsl = new CustomMaterialProperty<Vector4>( this, FlareSuperBaseShader.centerHsl );
|
||||
outsideHsl = new CustomMaterialProperty<Vector4>( this, FlareSuperBaseShader.outsideHsl );
|
||||
sizeX = new CustomMaterialProperty<float>( this, FlareSuperBaseShader.sizeX );
|
||||
sizeY = new CustomMaterialProperty<float>( this, FlareSuperBaseShader.sizeY );
|
||||
worldSizeScale = new CustomMaterialProperty<float>( this, FlareSuperBaseShader.worldSizeScale );
|
||||
screenSizeScale = new CustomMaterialProperty<float>( this, FlareSuperBaseShader.screenSizeScale );
|
||||
worldSizeVsScreenSize = new CustomMaterialProperty<float>( this, FlareSuperBaseShader.worldSizeVsScreenSize );
|
||||
screenOffsetScale = new CustomMaterialProperty<Vector2>( this, FlareSuperBaseShader.screenOffsetScale );
|
||||
screenOffsetLayerSpread = new CustomMaterialProperty<Vector2>( this, FlareSuperBaseShader.screenOffsetLayerSpread );
|
||||
useQuickOcclusionTest = new CustomMaterialProperty<bool>( this, FlareSuperBaseShader.useQuickOcclusionTest );
|
||||
occlusionZOffset = new CustomMaterialProperty<float>( this, FlareSuperBaseShader.occlusionZOffset );
|
||||
occlusionTestMaxSteps = new CustomMaterialProperty<int>( this, FlareSuperBaseShader.occlusionTestMaxSteps );
|
||||
occlusionTestStepStride = new CustomMaterialProperty<float>( this, FlareSuperBaseShader.occlusionTestStepStride );
|
||||
occlusionTestViewDependingScaleAmount = new CustomMaterialProperty<float>( this, FlareSuperBaseShader.occlusionTestViewDependingScaleAmount );
|
||||
occlusionTestViewDependingDistance = new CustomMaterialProperty<float>( this, FlareSuperBaseShader.occlusionTestViewDependingDistance );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://ckl8r152vrngh
|
||||
|
|
@ -1,7 +1,17 @@
|
|||
void setFlareBillboard(
|
||||
inout mat4 _MODELVIEW_MATRIX, inout mat3 _MODELVIEW_NORMAL_MATRIX,
|
||||
mat4 _VIEW_MATRIX, mat4 _MAIN_CAM_INV_VIEW_MATRIX, mat4 _MODEL_MATRIX,
|
||||
vec3 scale, vec2 _screenOffsetScale
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Colors.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Depth.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/SDF.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Noise.gdshaderinc"
|
||||
|
||||
void setFlareOffsetMatrix(
|
||||
inout mat4 _MODELVIEW_MATRIX,
|
||||
mat4 _VIEW_MATRIX,
|
||||
mat4 _MAIN_CAM_INV_VIEW_MATRIX,
|
||||
mat4 _MODEL_MATRIX,
|
||||
vec2 _screenOffsetScale,
|
||||
vec2 _offset
|
||||
)
|
||||
{
|
||||
_MODELVIEW_MATRIX = _VIEW_MATRIX * mat4(
|
||||
|
|
@ -11,22 +21,47 @@ void setFlareBillboard(
|
|||
_MODEL_MATRIX[ 3 ]
|
||||
);
|
||||
|
||||
vec3 viewPosition = _MODELVIEW_MATRIX[ 3 ].xyz;
|
||||
vec3 _viewPosition = _MODELVIEW_MATRIX[ 3 ].xyz;
|
||||
|
||||
viewPosition.xy += viewPosition.xy * _screenOffsetScale;
|
||||
|
||||
_MODELVIEW_MATRIX[ 3 ].xyz = viewPosition;
|
||||
_viewPosition.xy += _viewPosition.xy * _screenOffsetScale + _offset;
|
||||
|
||||
float scaleX = length( _MODEL_MATRIX[ 0 ].xyz ) * scale.x;
|
||||
float scaleY = length( _MODEL_MATRIX[ 1 ].xyz ) * scale.y;
|
||||
float scaleZ = length( _MODEL_MATRIX[ 2 ].xyz ) * scale.z;
|
||||
|
||||
_MODELVIEW_MATRIX = _MODELVIEW_MATRIX * mat4(
|
||||
vec4( scaleX, 0.0, 0.0, 0.0 ),
|
||||
vec4( 0.0, scaleY, 0.0, 0.0 ),
|
||||
vec4( 0.0, 0.0, scaleZ, 0.0 ),
|
||||
vec4( 0.0, 0.0, 0.0, 1.0 )
|
||||
);
|
||||
|
||||
_MODELVIEW_NORMAL_MATRIX = mat3( _MODELVIEW_MATRIX);
|
||||
_MODELVIEW_MATRIX[ 3 ].xyz = _viewPosition;
|
||||
}
|
||||
|
||||
void setFlareScaleRotation(
|
||||
inout mat4 _MODELVIEW_MATRIX,
|
||||
inout mat3 _MODELVIEW_NORMAL_MATRIX,
|
||||
mat4 _MODEL_MATRIX,
|
||||
vec3 _scale, float _vertexRotation
|
||||
)
|
||||
{
|
||||
// _MODELVIEW_MATRIX = _VIEW_MATRIX * mat4(
|
||||
// _MAIN_CAM_INV_VIEW_MATRIX[ 0 ],
|
||||
// _MAIN_CAM_INV_VIEW_MATRIX[ 1 ],
|
||||
// _MAIN_CAM_INV_VIEW_MATRIX[ 2 ],
|
||||
// _MODEL_MATRIX[ 3 ]
|
||||
// );
|
||||
|
||||
// vec3 _viewPosition = _MODELVIEW_MATRIX[ 3 ].xyz;
|
||||
|
||||
|
||||
// _viewPosition.xy += _viewPosition.xy * _screenOffsetScale;
|
||||
|
||||
|
||||
// _MODELVIEW_MATRIX[ 3 ].xyz = _viewPosition;
|
||||
|
||||
float _scaleX = length( _MODEL_MATRIX[ 0 ].xyz ) * _scale.x;
|
||||
float _scaleY = length( _MODEL_MATRIX[ 1 ].xyz ) * _scale.y;
|
||||
float _scaleZ = length( _MODEL_MATRIX[ 2 ].xyz ) * _scale.z;
|
||||
|
||||
_MODELVIEW_MATRIX = _MODELVIEW_MATRIX * rotationZ_m4( _vertexRotation ) * mat4(
|
||||
vec4( _scaleX, 0.0, 0.0, 0.0 ),
|
||||
vec4( 0.0, _scaleY, 0.0, 0.0 ),
|
||||
vec4( 0.0, 0.0, _scaleZ, 0.0 ),
|
||||
vec4( 0.0, 0.0, 0.0, 1.0 )
|
||||
) ;
|
||||
|
||||
_MODELVIEW_NORMAL_MATRIX = mat3( _MODELVIEW_MATRIX );
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://cqyc7q1cj6yso
|
||||
|
|
@ -1,102 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class GlowFlareAddShader
|
||||
{
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/GlowFlare/GlowFlareAdd.gdshader"
|
||||
);
|
||||
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName colorDistortion = FloatPropertyName.Create( "colorDistortion" );
|
||||
public static readonly FloatPropertyName alphaDistortion = FloatPropertyName.Create( "alphaDistortion" );
|
||||
public static readonly Vector4PropertyName centerHsl = Vector4PropertyName.Create( "centerHSL" );
|
||||
public static readonly Vector4PropertyName outsideHsl = Vector4PropertyName.Create( "outsideHSL" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly BoolPropertyName useQuickOcclusionTest = BoolPropertyName.Create( "useQuickOcclusionTest" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class GlowFlareAddMaterial:CustomMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<Color> color;
|
||||
public readonly CustomMaterialProperty<float> opacity;
|
||||
public readonly CustomMaterialProperty<Texture2D> opacityCurve;
|
||||
public readonly CustomMaterialProperty<float> colorDistortion;
|
||||
public readonly CustomMaterialProperty<float> alphaDistortion;
|
||||
public readonly CustomMaterialProperty<Vector4> centerHsl;
|
||||
public readonly CustomMaterialProperty<Vector4> outsideHsl;
|
||||
public readonly CustomMaterialProperty<float> sizeX;
|
||||
public readonly CustomMaterialProperty<float> sizeY;
|
||||
public readonly CustomMaterialProperty<float> worldSizeScale;
|
||||
public readonly CustomMaterialProperty<float> screenSizeScale;
|
||||
public readonly CustomMaterialProperty<float> worldSizeVsScreenSize;
|
||||
public readonly CustomMaterialProperty<Vector2> screenOffsetScale;
|
||||
public readonly CustomMaterialProperty<Vector2> screenOffsetLayerSpread;
|
||||
public readonly CustomMaterialProperty<Texture2D> fading;
|
||||
public readonly CustomMaterialProperty<Texture2D> opacityFading;
|
||||
public readonly CustomMaterialProperty<Texture2D> sizeXfading;
|
||||
public readonly CustomMaterialProperty<Texture2D> sizeYfading;
|
||||
public readonly CustomMaterialProperty<bool> useQuickOcclusionTest;
|
||||
public readonly CustomMaterialProperty<float> occlusionZOffset;
|
||||
public readonly CustomMaterialProperty<int> occlusionTestMaxSteps;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestStepStride;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestViewDependingScaleAmount;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestViewDependingDistance;
|
||||
|
||||
public GlowFlareAddMaterial()
|
||||
{
|
||||
Shader = GlowFlareAddShader.shader.Get();
|
||||
|
||||
color = new CustomMaterialProperty<Color>( this, GlowFlareAddShader.color );
|
||||
opacity = new CustomMaterialProperty<float>( this, GlowFlareAddShader.opacity );
|
||||
opacityCurve = new CustomMaterialProperty<Texture2D>( this, GlowFlareAddShader.opacityCurve );
|
||||
colorDistortion = new CustomMaterialProperty<float>( this, GlowFlareAddShader.colorDistortion );
|
||||
alphaDistortion = new CustomMaterialProperty<float>( this, GlowFlareAddShader.alphaDistortion );
|
||||
centerHsl = new CustomMaterialProperty<Vector4>( this, GlowFlareAddShader.centerHsl );
|
||||
outsideHsl = new CustomMaterialProperty<Vector4>( this, GlowFlareAddShader.outsideHsl );
|
||||
sizeX = new CustomMaterialProperty<float>( this, GlowFlareAddShader.sizeX );
|
||||
sizeY = new CustomMaterialProperty<float>( this, GlowFlareAddShader.sizeY );
|
||||
worldSizeScale = new CustomMaterialProperty<float>( this, GlowFlareAddShader.worldSizeScale );
|
||||
screenSizeScale = new CustomMaterialProperty<float>( this, GlowFlareAddShader.screenSizeScale );
|
||||
worldSizeVsScreenSize = new CustomMaterialProperty<float>( this, GlowFlareAddShader.worldSizeVsScreenSize );
|
||||
screenOffsetScale = new CustomMaterialProperty<Vector2>( this, GlowFlareAddShader.screenOffsetScale );
|
||||
screenOffsetLayerSpread = new CustomMaterialProperty<Vector2>( this, GlowFlareAddShader.screenOffsetLayerSpread );
|
||||
fading = new CustomMaterialProperty<Texture2D>( this, GlowFlareAddShader.fading );
|
||||
opacityFading = new CustomMaterialProperty<Texture2D>( this, GlowFlareAddShader.opacityFading );
|
||||
sizeXfading = new CustomMaterialProperty<Texture2D>( this, GlowFlareAddShader.sizeXfading );
|
||||
sizeYfading = new CustomMaterialProperty<Texture2D>( this, GlowFlareAddShader.sizeYfading );
|
||||
useQuickOcclusionTest = new CustomMaterialProperty<bool>( this, GlowFlareAddShader.useQuickOcclusionTest );
|
||||
occlusionZOffset = new CustomMaterialProperty<float>( this, GlowFlareAddShader.occlusionZOffset );
|
||||
occlusionTestMaxSteps = new CustomMaterialProperty<int>( this, GlowFlareAddShader.occlusionTestMaxSteps );
|
||||
occlusionTestStepStride = new CustomMaterialProperty<float>( this, GlowFlareAddShader.occlusionTestStepStride );
|
||||
occlusionTestViewDependingScaleAmount = new CustomMaterialProperty<float>( this, GlowFlareAddShader.occlusionTestViewDependingScaleAmount );
|
||||
occlusionTestViewDependingDistance = new CustomMaterialProperty<float>( this, GlowFlareAddShader.occlusionTestViewDependingDistance );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://b751ojo6ggfls
|
||||
|
|
@ -1,178 +0,0 @@
|
|||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Colors.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Depth.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/Flares.gdshaderinc"
|
||||
|
||||
// COLOR
|
||||
group_uniforms Color;
|
||||
uniform sampler2D depthTexture:hint_depth_texture;
|
||||
uniform vec4 color : source_color = vec4( 0.887, 0.434, 0.233, 1.0 );
|
||||
uniform float opacity = 1;
|
||||
uniform sampler2D opacityCurve:source_color;
|
||||
|
||||
uniform float colorDistortion:hint_range(0.2,20) = 2;
|
||||
uniform float alphaDistortion:hint_range(0.2,20) = 2;
|
||||
|
||||
uniform vec4 centerHSL = vec4( 0.08, 0.0, 0.18, 1.0 );
|
||||
varying vec4 centerColor;
|
||||
|
||||
uniform vec4 outsideHSL = vec4( -0.05, 1.65, 0.02, 0.0 );
|
||||
varying vec4 outsideColor;
|
||||
|
||||
group_uniforms;
|
||||
|
||||
// SIZE
|
||||
group_uniforms Size;
|
||||
uniform float sizeX:hint_range(1,100) = 1;
|
||||
uniform float sizeY:hint_range(1,100) = 1;
|
||||
uniform float worldSizeScale = 1;
|
||||
uniform float screenSizeScale = 1;
|
||||
uniform float worldSize_vs_screenSize:hint_range(0,1) = 0.5;
|
||||
group_uniforms;
|
||||
|
||||
// SCREEN OFFSET
|
||||
group_uniforms ScreenOffset;
|
||||
uniform vec2 screenOffsetScale = vec2( 0, 0 );
|
||||
uniform vec2 screenOffsetLayerSpread = vec2( 0, 0 );
|
||||
|
||||
group_uniforms;
|
||||
|
||||
// Fading
|
||||
group_uniforms Fading;
|
||||
uniform sampler2D fading:source_color, repeat_disable, filter_linear;
|
||||
uniform sampler2D opacityFading:source_color, repeat_disable, filter_linear;
|
||||
uniform sampler2D sizeXfading:source_color, repeat_disable, filter_linear;
|
||||
uniform sampler2D sizeYfading:source_color, repeat_disable, filter_linear;
|
||||
varying float opacityFadeValue;
|
||||
group_uniforms;
|
||||
|
||||
|
||||
// OCCLUSION
|
||||
group_uniforms Occlusion;
|
||||
uniform bool useQuickOcclusionTest = false;
|
||||
uniform float occlusionZOffset:hint_range(-30,30) = 0;
|
||||
uniform int occlusionTestMaxSteps = 10;
|
||||
uniform float occlusionTestStepStride = 1;
|
||||
uniform float occlusionTest_ViewDependingScaleAmount:hint_range(0,1) = 0.5;
|
||||
uniform float occlusionTest_ViewDependingDistance = 100;
|
||||
varying float occlusionAlpha;
|
||||
group_uniforms;
|
||||
|
||||
// void setFlareBillboard(
|
||||
// inout mat4 _MODELVIEW_MATRIX, inout mat3 _MODELVIEW_NORMAL_MATRIX,
|
||||
// mat4 _VIEW_MATRIX, mat4 _MAIN_CAM_INV_VIEW_MATRIX, mat4 _MODEL_MATRIX,
|
||||
// vec3 scale, vec2 _screenOffsetScale
|
||||
// )
|
||||
// {
|
||||
// _MODELVIEW_MATRIX = _VIEW_MATRIX * mat4(
|
||||
// _MAIN_CAM_INV_VIEW_MATRIX[ 0 ],
|
||||
// _MAIN_CAM_INV_VIEW_MATRIX[ 1 ],
|
||||
// _MAIN_CAM_INV_VIEW_MATRIX[ 2 ],
|
||||
// _MODEL_MATRIX[ 3 ]
|
||||
// );
|
||||
|
||||
// vec3 viewPosition = _MODELVIEW_MATRIX[ 3 ].xyz;
|
||||
|
||||
// viewPosition.xy += viewPosition.xy * _screenOffsetScale;
|
||||
|
||||
// _MODELVIEW_MATRIX[ 3 ].xyz = viewPosition;
|
||||
|
||||
// float scaleX = length( _MODEL_MATRIX[ 0 ].xyz ) * scale.x;
|
||||
// float scaleY = length( _MODEL_MATRIX[ 1 ].xyz ) * scale.y;
|
||||
// float scaleZ = length( _MODEL_MATRIX[ 2 ].xyz ) * scale.z;
|
||||
|
||||
// _MODELVIEW_MATRIX = _MODELVIEW_MATRIX * mat4(
|
||||
// vec4( scaleX, 0.0, 0.0, 0.0 ),
|
||||
// vec4( 0.0, scaleY, 0.0, 0.0 ),
|
||||
// vec4( 0.0, 0.0, scaleZ, 0.0 ),
|
||||
// vec4( 0.0, 0.0, 0.0, 1.0 )
|
||||
// );
|
||||
|
||||
// _MODELVIEW_NORMAL_MATRIX = mat3( _MODELVIEW_MATRIX);
|
||||
// }
|
||||
|
||||
void vertex()
|
||||
{
|
||||
float normalizedIndex = VERTEX.z;
|
||||
VERTEX.z = 0.0;
|
||||
|
||||
vec3 viewOffset = viewToWorldDirection( vec3( 0, 0, occlusionZOffset ), INV_VIEW_MATRIX );
|
||||
vec3 nodePositionView = worldToView( NODE_POSITION_WORLD + viewOffset, VIEW_MATRIX );
|
||||
vec2 screenPosition = viewToScreen( nodePositionView, PROJECTION_MATRIX );
|
||||
|
||||
float fadeValue = textureLod( fading, screenPosition, 0.0 ).r;
|
||||
float opacityValue = textureLod( opacityFading, screenPosition, 0.0 ).r;
|
||||
float sizeXFade = textureLod( sizeXfading, screenPosition, 0.0 ).r;
|
||||
float sizeYFade = textureLod( sizeYfading, screenPosition, 0.0 ).r;
|
||||
|
||||
float nodeScale = length( extractScale( MODEL_MATRIX ) );
|
||||
|
||||
float sX = sizeX * sizeXFade;
|
||||
float sY = sizeY * sizeYFade;
|
||||
|
||||
|
||||
vec2 uvPixelSize = vec2( 1.0, 1.0 ) / VIEWPORT_SIZE ;
|
||||
|
||||
vec2 scaledUVPixelSize = uvPixelSize * max( 1.0, nodePositionView.z / occlusionTest_ViewDependingDistance );
|
||||
uvPixelSize = mix( uvPixelSize, scaledUVPixelSize, occlusionTest_ViewDependingScaleAmount );
|
||||
|
||||
float occlusionValue = useQuickOcclusionTest ?
|
||||
|
||||
getQuickOcclusionAt( depthTexture, nodePositionView, uvPixelSize,
|
||||
occlusionTestMaxSteps, occlusionTestStepStride,
|
||||
PROJECTION_MATRIX, INV_PROJECTION_MATRIX ) :
|
||||
|
||||
getOcclusionAt( depthTexture, nodePositionView, uvPixelSize,
|
||||
occlusionTestMaxSteps, occlusionTestStepStride,
|
||||
PROJECTION_MATRIX, INV_PROJECTION_MATRIX );
|
||||
|
||||
occlusionAlpha = occlusionValue * fadeValue;
|
||||
|
||||
float camDist = length( NODE_POSITION_WORLD - CAMERA_POSITION_WORLD );
|
||||
vec2 sizeScaled = vec2( sX, sY ) * occlusionAlpha * nodeScale;
|
||||
vec2 size = mix( sizeScaled * worldSizeScale, sizeScaled * camDist * 0.1 * screenSizeScale, worldSize_vs_screenSize );
|
||||
|
||||
|
||||
|
||||
setFlareBillboard(
|
||||
MODELVIEW_MATRIX, MODELVIEW_NORMAL_MATRIX,
|
||||
VIEW_MATRIX, MAIN_CAM_INV_VIEW_MATRIX, MODEL_MATRIX,
|
||||
vec3( size.x, size.y, 1.0 ), screenOffsetScale + screenOffsetLayerSpread * ( normalizedIndex * 2.0 - 1.0 )
|
||||
);
|
||||
|
||||
vec3 hsl = RGBtoHSL( color.rgb );
|
||||
vec3 shiftedHSL = shiftHSL( hsl, centerHSL.rgb, 60.0 );
|
||||
vec3 shiftedRGB = HSLtoRGB( shiftedHSL );
|
||||
|
||||
centerColor = vec4( shiftRGBwithHSL( color.rgb, centerHSL.rgb, 60.0 ), centerHSL.a * color.a );
|
||||
outsideColor = vec4( shiftRGBwithHSL( color.rgb, outsideHSL.rgb, 60.0 ), outsideHSL.a * color.a );
|
||||
|
||||
opacityFadeValue = fadeValue * opacityValue;
|
||||
|
||||
float opacityMapValue = textureLod( opacityCurve, vec2( normalizedIndex, 0.0 ), 0.0 ).r;
|
||||
opacityFadeValue *= opacityMapValue;
|
||||
}
|
||||
|
||||
void fragment()
|
||||
{
|
||||
|
||||
float distanceToCircle = 1.0 - min( 1, length( UV - vec2( 0.5, 0.5 ) ) / 0.5 );
|
||||
|
||||
float alpha = pow( distanceToCircle, alphaDistortion );
|
||||
alpha = min( 1, alpha );
|
||||
|
||||
distanceToCircle = pow( distanceToCircle, colorDistortion );
|
||||
|
||||
|
||||
float t = min( 1, distanceToCircle );
|
||||
vec4 mixedColor = mixThreeColors( outsideColor, color, centerColor, t );
|
||||
|
||||
mixedColor.a *= alpha;
|
||||
|
||||
|
||||
ALBEDO = mixedColor.rgb;
|
||||
ALPHA = mixedColor.a * occlusionAlpha * opacity * opacityFadeValue;
|
||||
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://dv4j06odwqjvu
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://bvjxbgnsu8pcj
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://cusgp711ny0pc
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/Flares.gdshaderinc"
|
||||
|
||||
|
||||
|
||||
// SHAPE
|
||||
group_uniforms Shape;
|
||||
|
||||
uniform int shapeType:hint_range(0,12);
|
||||
uniform float shapeScale:hint_range(0,1) = 0.5;
|
||||
|
||||
uniform float minShapeDistance = 0;
|
||||
uniform float maxShapeDistance = 0.1;
|
||||
|
||||
uniform float minShapeDistanceColor = -0.5;
|
||||
uniform float maxShapeDistanceColor = 0;
|
||||
|
||||
uniform float shapeColorDistortion:hint_range(0.2,20) = 1;
|
||||
uniform float shapeAlphaDistortion:hint_range(0.2,20) = 1;
|
||||
|
||||
uniform vec4 innerHSL = vec4( 0.0, 0.0, 0.0, 1.0 );
|
||||
uniform vec4 outerHSL = vec4( 0.0, 0.0, 0.0, 1.0 );
|
||||
|
||||
|
||||
group_uniforms;
|
||||
|
||||
varying vec4 innerColor;
|
||||
varying vec4 outerColor;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/BaseFlare/BaseFlare-Variables.gdshaderinc"
|
||||
|
||||
#define GENERATE_FLARE_VERTEX_DATA \
|
||||
{ \
|
||||
float _rgbScale = getRGBScale( combinedColor ); \
|
||||
innerColor = vec4( shiftRGBwithHSL( combinedColor.rgb / _rgbScale, innerHSL.rgb, 60.0) * _rgbScale, innerHSL.a * combinedColor.a ); \
|
||||
outerColor = vec4( shiftRGBwithHSL( combinedColor.rgb / _rgbScale, outerHSL.rgb, 60.0) * _rgbScale, outerHSL.a * combinedColor.a ); \
|
||||
} \
|
||||
|
||||
float getShapeDistance(
|
||||
int _shapeType, float _shapeScale, float _shapeRotation, vec2 _uv, float _minShapeDistance, float _maxShapeDistance )
|
||||
{
|
||||
float distance = 0.0;
|
||||
// _shapeRotation += 180.0;
|
||||
_uv -= vec2( 0.5 );
|
||||
_uv = rotate_v2( _uv, _shapeRotation / 180.0 * 3.141592653 );
|
||||
_uv /= _shapeScale;
|
||||
|
||||
|
||||
if ( _shapeType == 0 ) { distance = sdCircle( _uv, 0.5 ); }
|
||||
else if ( _shapeType == 1 ) { distance = sdRoundedX( _uv, 0.5, 0.2 ); }
|
||||
else if ( _shapeType == 2 ) { distance = sdEquilateralTriangle( _uv, 0.666 ); }
|
||||
else if ( _shapeType == 3 ) { distance = sdBox( _uv, vec2( 0.5 ) ); }
|
||||
else if ( _shapeType == 4 ) { distance = sdPentagon( _uv, 0.5 ); }
|
||||
else if ( _shapeType == 5 ) { distance = sdHexagon( _uv, 0.5 ); }
|
||||
else if ( _shapeType == 6 ) { distance = sdOctogon( _uv, 0.5 ); }
|
||||
else if ( _shapeType == 7 ) { distance = sdHexagram( _uv, 0.333); }
|
||||
else if ( _shapeType == 8 ) { distance = sdPentagram( _uv, 0.6666 ); }
|
||||
else if ( _shapeType == 9 ) { distance = sdMoon( _uv, 0.0, 0.5, 0.4 ); }
|
||||
else if ( _shapeType == 10 ) { distance = sdMoon( _uv, 0.5, 0.5, 0.4 ); }
|
||||
else if ( _shapeType == 11 ) { distance = sdMoon( _uv, 0.1, 0.5, 0.3 ); }
|
||||
else if ( _shapeType == 12 ) { distance = sdHeart( _uv ); }
|
||||
|
||||
|
||||
return distance;
|
||||
}
|
||||
|
||||
|
||||
vec4 generateFlare( vec2 _uv, vec4 _color, float _opacity )
|
||||
{
|
||||
float distance = getShapeDistance( shapeType, shapeScale, 0, _uv, minShapeDistance, maxShapeDistance );
|
||||
|
||||
float normalizedAlphaDistance = normalizeToRange01( distance, minShapeDistance, maxShapeDistance );
|
||||
float alphaT = 1.0 - normalizedAlphaDistance;
|
||||
|
||||
float normalizedColorDistance = normalizeToRange01( distance, minShapeDistanceColor, maxShapeDistanceColor );
|
||||
float colorT = 1.0 - normalizedColorDistance;
|
||||
|
||||
colorT = pow( colorT, shapeColorDistortion );
|
||||
alphaT = pow( alphaT, shapeAlphaDistortion );
|
||||
|
||||
float t = min( 1, colorT );
|
||||
vec4 mixedColor = mixThreeColors( outerColor, _color, innerColor, t );
|
||||
|
||||
mixedColor.a *= alphaT * _opacity;
|
||||
|
||||
|
||||
return mixedColor;
|
||||
}
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/BaseFlare/BaseFlare-VertexFragment.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bot3nu2eheylq
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
shader_type spatial;
|
||||
render_mode blend_add, depth_test_disabled, cull_disabled, unshaded, fog_disabled;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/GlowFlare/GlowFlareBase.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/SDFType/SDFTypeFlare.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bghg0b1pecnwd
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class SDFTypeFlareAddShader
|
||||
{
|
||||
///*
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/SDFType/Variants/SDFTypeFlareAdd.gdshader"
|
||||
);
|
||||
//*/
|
||||
|
||||
public static readonly IntPropertyName shapeType = IntPropertyName.Create( "shapeType" );
|
||||
public static readonly FloatPropertyName shapeScale = FloatPropertyName.Create( "shapeScale" );
|
||||
public static readonly FloatPropertyName minShapeDistance = FloatPropertyName.Create( "minShapeDistance" );
|
||||
public static readonly FloatPropertyName maxShapeDistance = FloatPropertyName.Create( "maxShapeDistance" );
|
||||
public static readonly FloatPropertyName minShapeDistanceColor = FloatPropertyName.Create( "minShapeDistanceColor" );
|
||||
public static readonly FloatPropertyName maxShapeDistanceColor = FloatPropertyName.Create( "maxShapeDistanceColor" );
|
||||
public static readonly FloatPropertyName shapeColorDistortion = FloatPropertyName.Create( "shapeColorDistortion" );
|
||||
public static readonly FloatPropertyName shapeAlphaDistortion = FloatPropertyName.Create( "shapeAlphaDistortion" );
|
||||
public static readonly Vector4PropertyName innerHsl = Vector4PropertyName.Create( "innerHSL" );
|
||||
public static readonly Vector4PropertyName outerHsl = Vector4PropertyName.Create( "outerHSL" );
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName minHueRandom = FloatPropertyName.Create( "minHueRandom" );
|
||||
public static readonly FloatPropertyName maxHueRandom = FloatPropertyName.Create( "maxHueRandom" );
|
||||
public static readonly FloatPropertyName shapeNoiseAmount = FloatPropertyName.Create( "shapeNoiseAmount" );
|
||||
public static readonly FloatPropertyName shapeNoiseScale = FloatPropertyName.Create( "shapeNoiseScale" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly FloatPropertyName randomScaleMin = FloatPropertyName.Create( "randomScaleMin" );
|
||||
public static readonly FloatPropertyName randomScaleMax = FloatPropertyName.Create( "randomScaleMax" );
|
||||
public static readonly FloatPropertyName extension = FloatPropertyName.Create( "extension" );
|
||||
public static readonly FloatPropertyName rotation = FloatPropertyName.Create( "rotation" );
|
||||
public static readonly FloatPropertyName rotationOverX = FloatPropertyName.Create( "rotationOverX" );
|
||||
public static readonly FloatPropertyName rotationOverY = FloatPropertyName.Create( "rotationOverY" );
|
||||
public static readonly FloatPropertyName rotationPerLayer = FloatPropertyName.Create( "rotationPerLayer" );
|
||||
public static readonly Vector2PropertyName screenOffset = Vector2PropertyName.Create( "screenOffset" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly IntPropertyName chromaticAberationMode = IntPropertyName.Create( "chromaticAberationMode" );
|
||||
public static readonly FloatPropertyName chromaticAberationAmount = FloatPropertyName.Create( "chromaticAberationAmount" );
|
||||
public static readonly IntPropertyName chromaticAberationSteps = IntPropertyName.Create( "chromaticAberationSteps" );
|
||||
public static readonly Vector2PropertyName chromaticAberationDirection = Vector2PropertyName.Create( "chromaticAberationDirection" );
|
||||
public static readonly FloatPropertyName chromaticAberationDirectionTowardsCenter = FloatPropertyName.Create( "chromaticAberationDirectionTowardsCenter" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterScale = FloatPropertyName.Create( "chromaticAberationCenterScale" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterOffset = FloatPropertyName.Create( "chromaticAberationCenterOffset" );
|
||||
public static readonly Vector3PropertyName chromaticAberationShifts = Vector3PropertyName.Create( "chromaticAberationShifts" );
|
||||
public static readonly FloatPropertyName chromaticAberationSmear = FloatPropertyName.Create( "chromaticAberationSmear" );
|
||||
public static readonly IntPropertyName fadingMode = IntPropertyName.Create( "fadingMode" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly FloatPropertyName fadingPower = FloatPropertyName.Create( "fadingPower" );
|
||||
public static readonly FloatPropertyName opacityFadingPower = FloatPropertyName.Create( "opacityFadingPower" );
|
||||
public static readonly FloatPropertyName sizeXfadingPower = FloatPropertyName.Create( "sizeXfadingPower" );
|
||||
public static readonly FloatPropertyName sizeYfadingPower = FloatPropertyName.Create( "sizeYfadingPower" );
|
||||
public static readonly IntPropertyName occlusionMode = IntPropertyName.Create( "occlusionMode" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
public static readonly FloatPropertyName occlusionToSize = FloatPropertyName.Create( "occlusionToSize" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class SDFTypeFlareAddMaterial:BaseFlareMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<int> shapeType;
|
||||
public readonly CustomMaterialProperty<float> shapeScale;
|
||||
public readonly CustomMaterialProperty<float> minShapeDistance;
|
||||
public readonly CustomMaterialProperty<float> maxShapeDistance;
|
||||
public readonly CustomMaterialProperty<float> minShapeDistanceColor;
|
||||
public readonly CustomMaterialProperty<float> maxShapeDistanceColor;
|
||||
public readonly CustomMaterialProperty<float> shapeColorDistortion;
|
||||
public readonly CustomMaterialProperty<float> shapeAlphaDistortion;
|
||||
public readonly CustomMaterialProperty<Vector4> innerHsl;
|
||||
public readonly CustomMaterialProperty<Vector4> outerHsl;
|
||||
|
||||
public SDFTypeFlareAddMaterial()
|
||||
{
|
||||
///*
|
||||
Shader = SDFTypeFlareAddShader.shader.Get();
|
||||
//*/
|
||||
|
||||
shapeType = new CustomMaterialProperty<int>( this, SDFTypeFlareAddShader.shapeType );
|
||||
shapeScale = new CustomMaterialProperty<float>( this, SDFTypeFlareAddShader.shapeScale );
|
||||
minShapeDistance = new CustomMaterialProperty<float>( this, SDFTypeFlareAddShader.minShapeDistance );
|
||||
maxShapeDistance = new CustomMaterialProperty<float>( this, SDFTypeFlareAddShader.maxShapeDistance );
|
||||
minShapeDistanceColor = new CustomMaterialProperty<float>( this, SDFTypeFlareAddShader.minShapeDistanceColor );
|
||||
maxShapeDistanceColor = new CustomMaterialProperty<float>( this, SDFTypeFlareAddShader.maxShapeDistanceColor );
|
||||
shapeColorDistortion = new CustomMaterialProperty<float>( this, SDFTypeFlareAddShader.shapeColorDistortion );
|
||||
shapeAlphaDistortion = new CustomMaterialProperty<float>( this, SDFTypeFlareAddShader.shapeAlphaDistortion );
|
||||
innerHsl = new CustomMaterialProperty<Vector4>( this, SDFTypeFlareAddShader.innerHsl );
|
||||
outerHsl = new CustomMaterialProperty<Vector4>( this, SDFTypeFlareAddShader.outerHsl );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://pitbnp6cpk4f
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
shader_type spatial;
|
||||
render_mode blend_mix, depth_test_disabled, cull_disabled, unshaded, fog_disabled;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/GlowFlare/GlowFlareBase.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/SDFType/SDFTypeFlare.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://k5rstlw8ssw8
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class SDFTypeFlareMixShader
|
||||
{
|
||||
///*
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/SDFType/Variants/SDFTypeFlareMix.gdshader"
|
||||
);
|
||||
//*/
|
||||
|
||||
public static readonly IntPropertyName shapeType = IntPropertyName.Create( "shapeType" );
|
||||
public static readonly FloatPropertyName shapeScale = FloatPropertyName.Create( "shapeScale" );
|
||||
public static readonly FloatPropertyName minShapeDistance = FloatPropertyName.Create( "minShapeDistance" );
|
||||
public static readonly FloatPropertyName maxShapeDistance = FloatPropertyName.Create( "maxShapeDistance" );
|
||||
public static readonly FloatPropertyName minShapeDistanceColor = FloatPropertyName.Create( "minShapeDistanceColor" );
|
||||
public static readonly FloatPropertyName maxShapeDistanceColor = FloatPropertyName.Create( "maxShapeDistanceColor" );
|
||||
public static readonly FloatPropertyName shapeColorDistortion = FloatPropertyName.Create( "shapeColorDistortion" );
|
||||
public static readonly FloatPropertyName shapeAlphaDistortion = FloatPropertyName.Create( "shapeAlphaDistortion" );
|
||||
public static readonly Vector4PropertyName innerHsl = Vector4PropertyName.Create( "innerHSL" );
|
||||
public static readonly Vector4PropertyName outerHsl = Vector4PropertyName.Create( "outerHSL" );
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName minHueRandom = FloatPropertyName.Create( "minHueRandom" );
|
||||
public static readonly FloatPropertyName maxHueRandom = FloatPropertyName.Create( "maxHueRandom" );
|
||||
public static readonly FloatPropertyName shapeNoiseAmount = FloatPropertyName.Create( "shapeNoiseAmount" );
|
||||
public static readonly FloatPropertyName shapeNoiseScale = FloatPropertyName.Create( "shapeNoiseScale" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly FloatPropertyName randomScaleMin = FloatPropertyName.Create( "randomScaleMin" );
|
||||
public static readonly FloatPropertyName randomScaleMax = FloatPropertyName.Create( "randomScaleMax" );
|
||||
public static readonly FloatPropertyName extension = FloatPropertyName.Create( "extension" );
|
||||
public static readonly FloatPropertyName rotation = FloatPropertyName.Create( "rotation" );
|
||||
public static readonly FloatPropertyName rotationOverX = FloatPropertyName.Create( "rotationOverX" );
|
||||
public static readonly FloatPropertyName rotationOverY = FloatPropertyName.Create( "rotationOverY" );
|
||||
public static readonly FloatPropertyName rotationPerLayer = FloatPropertyName.Create( "rotationPerLayer" );
|
||||
public static readonly Vector2PropertyName screenOffset = Vector2PropertyName.Create( "screenOffset" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly IntPropertyName chromaticAberationMode = IntPropertyName.Create( "chromaticAberationMode" );
|
||||
public static readonly FloatPropertyName chromaticAberationAmount = FloatPropertyName.Create( "chromaticAberationAmount" );
|
||||
public static readonly IntPropertyName chromaticAberationSteps = IntPropertyName.Create( "chromaticAberationSteps" );
|
||||
public static readonly Vector2PropertyName chromaticAberationDirection = Vector2PropertyName.Create( "chromaticAberationDirection" );
|
||||
public static readonly FloatPropertyName chromaticAberationDirectionTowardsCenter = FloatPropertyName.Create( "chromaticAberationDirectionTowardsCenter" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterScale = FloatPropertyName.Create( "chromaticAberationCenterScale" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterOffset = FloatPropertyName.Create( "chromaticAberationCenterOffset" );
|
||||
public static readonly Vector3PropertyName chromaticAberationShifts = Vector3PropertyName.Create( "chromaticAberationShifts" );
|
||||
public static readonly FloatPropertyName chromaticAberationSmear = FloatPropertyName.Create( "chromaticAberationSmear" );
|
||||
public static readonly IntPropertyName fadingMode = IntPropertyName.Create( "fadingMode" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly FloatPropertyName fadingPower = FloatPropertyName.Create( "fadingPower" );
|
||||
public static readonly FloatPropertyName opacityFadingPower = FloatPropertyName.Create( "opacityFadingPower" );
|
||||
public static readonly FloatPropertyName sizeXfadingPower = FloatPropertyName.Create( "sizeXfadingPower" );
|
||||
public static readonly FloatPropertyName sizeYfadingPower = FloatPropertyName.Create( "sizeYfadingPower" );
|
||||
public static readonly IntPropertyName occlusionMode = IntPropertyName.Create( "occlusionMode" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
public static readonly FloatPropertyName occlusionToSize = FloatPropertyName.Create( "occlusionToSize" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class SDFTypeFlareMixMaterial:BaseFlareMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<int> shapeType;
|
||||
public readonly CustomMaterialProperty<float> shapeScale;
|
||||
public readonly CustomMaterialProperty<float> minShapeDistance;
|
||||
public readonly CustomMaterialProperty<float> maxShapeDistance;
|
||||
public readonly CustomMaterialProperty<float> minShapeDistanceColor;
|
||||
public readonly CustomMaterialProperty<float> maxShapeDistanceColor;
|
||||
public readonly CustomMaterialProperty<float> shapeColorDistortion;
|
||||
public readonly CustomMaterialProperty<float> shapeAlphaDistortion;
|
||||
public readonly CustomMaterialProperty<Vector4> innerHsl;
|
||||
public readonly CustomMaterialProperty<Vector4> outerHsl;
|
||||
|
||||
public SDFTypeFlareMixMaterial()
|
||||
{
|
||||
///*
|
||||
Shader = SDFTypeFlareMixShader.shader.Get();
|
||||
//*/
|
||||
|
||||
shapeType = new CustomMaterialProperty<int>( this, SDFTypeFlareMixShader.shapeType );
|
||||
shapeScale = new CustomMaterialProperty<float>( this, SDFTypeFlareMixShader.shapeScale );
|
||||
minShapeDistance = new CustomMaterialProperty<float>( this, SDFTypeFlareMixShader.minShapeDistance );
|
||||
maxShapeDistance = new CustomMaterialProperty<float>( this, SDFTypeFlareMixShader.maxShapeDistance );
|
||||
minShapeDistanceColor = new CustomMaterialProperty<float>( this, SDFTypeFlareMixShader.minShapeDistanceColor );
|
||||
maxShapeDistanceColor = new CustomMaterialProperty<float>( this, SDFTypeFlareMixShader.maxShapeDistanceColor );
|
||||
shapeColorDistortion = new CustomMaterialProperty<float>( this, SDFTypeFlareMixShader.shapeColorDistortion );
|
||||
shapeAlphaDistortion = new CustomMaterialProperty<float>( this, SDFTypeFlareMixShader.shapeAlphaDistortion );
|
||||
innerHsl = new CustomMaterialProperty<Vector4>( this, SDFTypeFlareMixShader.innerHsl );
|
||||
outerHsl = new CustomMaterialProperty<Vector4>( this, SDFTypeFlareMixShader.outerHsl );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bvoka7aow2t65
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
shader_type spatial;
|
||||
render_mode blend_mul, depth_test_disabled, cull_disabled, unshaded, fog_disabled;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/SDFType/SDFTypeFlare.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://gmstpp074nd3
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class SDFTypeFlareMultiplyShader
|
||||
{
|
||||
///*
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/SDFType/Variants/SDFTypeFlareMultiply.gdshader"
|
||||
);
|
||||
//*/
|
||||
|
||||
public static readonly IntPropertyName shapeType = IntPropertyName.Create( "shapeType" );
|
||||
public static readonly FloatPropertyName shapeScale = FloatPropertyName.Create( "shapeScale" );
|
||||
public static readonly FloatPropertyName minShapeDistance = FloatPropertyName.Create( "minShapeDistance" );
|
||||
public static readonly FloatPropertyName maxShapeDistance = FloatPropertyName.Create( "maxShapeDistance" );
|
||||
public static readonly FloatPropertyName minShapeDistanceColor = FloatPropertyName.Create( "minShapeDistanceColor" );
|
||||
public static readonly FloatPropertyName maxShapeDistanceColor = FloatPropertyName.Create( "maxShapeDistanceColor" );
|
||||
public static readonly FloatPropertyName shapeColorDistortion = FloatPropertyName.Create( "shapeColorDistortion" );
|
||||
public static readonly FloatPropertyName shapeAlphaDistortion = FloatPropertyName.Create( "shapeAlphaDistortion" );
|
||||
public static readonly Vector4PropertyName innerHsl = Vector4PropertyName.Create( "innerHSL" );
|
||||
public static readonly Vector4PropertyName outerHsl = Vector4PropertyName.Create( "outerHSL" );
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName minHueRandom = FloatPropertyName.Create( "minHueRandom" );
|
||||
public static readonly FloatPropertyName maxHueRandom = FloatPropertyName.Create( "maxHueRandom" );
|
||||
public static readonly FloatPropertyName shapeNoiseAmount = FloatPropertyName.Create( "shapeNoiseAmount" );
|
||||
public static readonly FloatPropertyName shapeNoiseScale = FloatPropertyName.Create( "shapeNoiseScale" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly FloatPropertyName randomScaleMin = FloatPropertyName.Create( "randomScaleMin" );
|
||||
public static readonly FloatPropertyName randomScaleMax = FloatPropertyName.Create( "randomScaleMax" );
|
||||
public static readonly FloatPropertyName extension = FloatPropertyName.Create( "extension" );
|
||||
public static readonly FloatPropertyName rotation = FloatPropertyName.Create( "rotation" );
|
||||
public static readonly FloatPropertyName rotationOverX = FloatPropertyName.Create( "rotationOverX" );
|
||||
public static readonly FloatPropertyName rotationOverY = FloatPropertyName.Create( "rotationOverY" );
|
||||
public static readonly FloatPropertyName rotationPerLayer = FloatPropertyName.Create( "rotationPerLayer" );
|
||||
public static readonly Vector2PropertyName screenOffset = Vector2PropertyName.Create( "screenOffset" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly IntPropertyName chromaticAberationMode = IntPropertyName.Create( "chromaticAberationMode" );
|
||||
public static readonly FloatPropertyName chromaticAberationAmount = FloatPropertyName.Create( "chromaticAberationAmount" );
|
||||
public static readonly IntPropertyName chromaticAberationSteps = IntPropertyName.Create( "chromaticAberationSteps" );
|
||||
public static readonly Vector2PropertyName chromaticAberationDirection = Vector2PropertyName.Create( "chromaticAberationDirection" );
|
||||
public static readonly FloatPropertyName chromaticAberationDirectionTowardsCenter = FloatPropertyName.Create( "chromaticAberationDirectionTowardsCenter" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterScale = FloatPropertyName.Create( "chromaticAberationCenterScale" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterOffset = FloatPropertyName.Create( "chromaticAberationCenterOffset" );
|
||||
public static readonly Vector3PropertyName chromaticAberationShifts = Vector3PropertyName.Create( "chromaticAberationShifts" );
|
||||
public static readonly FloatPropertyName chromaticAberationSmear = FloatPropertyName.Create( "chromaticAberationSmear" );
|
||||
public static readonly IntPropertyName fadingMode = IntPropertyName.Create( "fadingMode" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly FloatPropertyName fadingPower = FloatPropertyName.Create( "fadingPower" );
|
||||
public static readonly FloatPropertyName opacityFadingPower = FloatPropertyName.Create( "opacityFadingPower" );
|
||||
public static readonly FloatPropertyName sizeXfadingPower = FloatPropertyName.Create( "sizeXfadingPower" );
|
||||
public static readonly FloatPropertyName sizeYfadingPower = FloatPropertyName.Create( "sizeYfadingPower" );
|
||||
public static readonly IntPropertyName occlusionMode = IntPropertyName.Create( "occlusionMode" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
public static readonly FloatPropertyName occlusionToSize = FloatPropertyName.Create( "occlusionToSize" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class SDFTypeFlareMultiplyMaterial:BaseFlareMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<int> shapeType;
|
||||
public readonly CustomMaterialProperty<float> shapeScale;
|
||||
public readonly CustomMaterialProperty<float> minShapeDistance;
|
||||
public readonly CustomMaterialProperty<float> maxShapeDistance;
|
||||
public readonly CustomMaterialProperty<float> minShapeDistanceColor;
|
||||
public readonly CustomMaterialProperty<float> maxShapeDistanceColor;
|
||||
public readonly CustomMaterialProperty<float> shapeColorDistortion;
|
||||
public readonly CustomMaterialProperty<float> shapeAlphaDistortion;
|
||||
public readonly CustomMaterialProperty<Vector4> innerHsl;
|
||||
public readonly CustomMaterialProperty<Vector4> outerHsl;
|
||||
|
||||
public SDFTypeFlareMultiplyMaterial()
|
||||
{
|
||||
///*
|
||||
Shader = SDFTypeFlareMultiplyShader.shader.Get();
|
||||
//*/
|
||||
|
||||
shapeType = new CustomMaterialProperty<int>( this, SDFTypeFlareMultiplyShader.shapeType );
|
||||
shapeScale = new CustomMaterialProperty<float>( this, SDFTypeFlareMultiplyShader.shapeScale );
|
||||
minShapeDistance = new CustomMaterialProperty<float>( this, SDFTypeFlareMultiplyShader.minShapeDistance );
|
||||
maxShapeDistance = new CustomMaterialProperty<float>( this, SDFTypeFlareMultiplyShader.maxShapeDistance );
|
||||
minShapeDistanceColor = new CustomMaterialProperty<float>( this, SDFTypeFlareMultiplyShader.minShapeDistanceColor );
|
||||
maxShapeDistanceColor = new CustomMaterialProperty<float>( this, SDFTypeFlareMultiplyShader.maxShapeDistanceColor );
|
||||
shapeColorDistortion = new CustomMaterialProperty<float>( this, SDFTypeFlareMultiplyShader.shapeColorDistortion );
|
||||
shapeAlphaDistortion = new CustomMaterialProperty<float>( this, SDFTypeFlareMultiplyShader.shapeAlphaDistortion );
|
||||
innerHsl = new CustomMaterialProperty<Vector4>( this, SDFTypeFlareMultiplyShader.innerHsl );
|
||||
outerHsl = new CustomMaterialProperty<Vector4>( this, SDFTypeFlareMultiplyShader.outerHsl );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://dcn3nwgoweygd
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
shader_type spatial;
|
||||
render_mode blend_sub, depth_test_disabled, cull_disabled, unshaded, fog_disabled;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/SDFType/SDFTypeFlare.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://cawtys20qq5yx
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class SDFTypeFlareSubtractShader
|
||||
{
|
||||
///*
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/SDFType/Variants/SDFTypeFlareSubtract.gdshader"
|
||||
);
|
||||
//*/
|
||||
|
||||
public static readonly IntPropertyName shapeType = IntPropertyName.Create( "shapeType" );
|
||||
public static readonly FloatPropertyName shapeScale = FloatPropertyName.Create( "shapeScale" );
|
||||
public static readonly FloatPropertyName minShapeDistance = FloatPropertyName.Create( "minShapeDistance" );
|
||||
public static readonly FloatPropertyName maxShapeDistance = FloatPropertyName.Create( "maxShapeDistance" );
|
||||
public static readonly FloatPropertyName minShapeDistanceColor = FloatPropertyName.Create( "minShapeDistanceColor" );
|
||||
public static readonly FloatPropertyName maxShapeDistanceColor = FloatPropertyName.Create( "maxShapeDistanceColor" );
|
||||
public static readonly FloatPropertyName shapeColorDistortion = FloatPropertyName.Create( "shapeColorDistortion" );
|
||||
public static readonly FloatPropertyName shapeAlphaDistortion = FloatPropertyName.Create( "shapeAlphaDistortion" );
|
||||
public static readonly Vector4PropertyName innerHsl = Vector4PropertyName.Create( "innerHSL" );
|
||||
public static readonly Vector4PropertyName outerHsl = Vector4PropertyName.Create( "outerHSL" );
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName minHueRandom = FloatPropertyName.Create( "minHueRandom" );
|
||||
public static readonly FloatPropertyName maxHueRandom = FloatPropertyName.Create( "maxHueRandom" );
|
||||
public static readonly FloatPropertyName shapeNoiseAmount = FloatPropertyName.Create( "shapeNoiseAmount" );
|
||||
public static readonly FloatPropertyName shapeNoiseScale = FloatPropertyName.Create( "shapeNoiseScale" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly FloatPropertyName randomScaleMin = FloatPropertyName.Create( "randomScaleMin" );
|
||||
public static readonly FloatPropertyName randomScaleMax = FloatPropertyName.Create( "randomScaleMax" );
|
||||
public static readonly FloatPropertyName extension = FloatPropertyName.Create( "extension" );
|
||||
public static readonly FloatPropertyName rotation = FloatPropertyName.Create( "rotation" );
|
||||
public static readonly FloatPropertyName rotationOverX = FloatPropertyName.Create( "rotationOverX" );
|
||||
public static readonly FloatPropertyName rotationOverY = FloatPropertyName.Create( "rotationOverY" );
|
||||
public static readonly FloatPropertyName rotationPerLayer = FloatPropertyName.Create( "rotationPerLayer" );
|
||||
public static readonly Vector2PropertyName screenOffset = Vector2PropertyName.Create( "screenOffset" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly IntPropertyName chromaticAberationMode = IntPropertyName.Create( "chromaticAberationMode" );
|
||||
public static readonly FloatPropertyName chromaticAberationAmount = FloatPropertyName.Create( "chromaticAberationAmount" );
|
||||
public static readonly IntPropertyName chromaticAberationSteps = IntPropertyName.Create( "chromaticAberationSteps" );
|
||||
public static readonly Vector2PropertyName chromaticAberationDirection = Vector2PropertyName.Create( "chromaticAberationDirection" );
|
||||
public static readonly FloatPropertyName chromaticAberationDirectionTowardsCenter = FloatPropertyName.Create( "chromaticAberationDirectionTowardsCenter" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterScale = FloatPropertyName.Create( "chromaticAberationCenterScale" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterOffset = FloatPropertyName.Create( "chromaticAberationCenterOffset" );
|
||||
public static readonly Vector3PropertyName chromaticAberationShifts = Vector3PropertyName.Create( "chromaticAberationShifts" );
|
||||
public static readonly FloatPropertyName chromaticAberationSmear = FloatPropertyName.Create( "chromaticAberationSmear" );
|
||||
public static readonly IntPropertyName fadingMode = IntPropertyName.Create( "fadingMode" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly FloatPropertyName fadingPower = FloatPropertyName.Create( "fadingPower" );
|
||||
public static readonly FloatPropertyName opacityFadingPower = FloatPropertyName.Create( "opacityFadingPower" );
|
||||
public static readonly FloatPropertyName sizeXfadingPower = FloatPropertyName.Create( "sizeXfadingPower" );
|
||||
public static readonly FloatPropertyName sizeYfadingPower = FloatPropertyName.Create( "sizeYfadingPower" );
|
||||
public static readonly IntPropertyName occlusionMode = IntPropertyName.Create( "occlusionMode" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
public static readonly FloatPropertyName occlusionToSize = FloatPropertyName.Create( "occlusionToSize" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class SDFTypeFlareSubtractMaterial:BaseFlareMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<int> shapeType;
|
||||
public readonly CustomMaterialProperty<float> shapeScale;
|
||||
public readonly CustomMaterialProperty<float> minShapeDistance;
|
||||
public readonly CustomMaterialProperty<float> maxShapeDistance;
|
||||
public readonly CustomMaterialProperty<float> minShapeDistanceColor;
|
||||
public readonly CustomMaterialProperty<float> maxShapeDistanceColor;
|
||||
public readonly CustomMaterialProperty<float> shapeColorDistortion;
|
||||
public readonly CustomMaterialProperty<float> shapeAlphaDistortion;
|
||||
public readonly CustomMaterialProperty<Vector4> innerHsl;
|
||||
public readonly CustomMaterialProperty<Vector4> outerHsl;
|
||||
|
||||
public SDFTypeFlareSubtractMaterial()
|
||||
{
|
||||
///*
|
||||
Shader = SDFTypeFlareSubtractShader.shader.Get();
|
||||
//*/
|
||||
|
||||
shapeType = new CustomMaterialProperty<int>( this, SDFTypeFlareSubtractShader.shapeType );
|
||||
shapeScale = new CustomMaterialProperty<float>( this, SDFTypeFlareSubtractShader.shapeScale );
|
||||
minShapeDistance = new CustomMaterialProperty<float>( this, SDFTypeFlareSubtractShader.minShapeDistance );
|
||||
maxShapeDistance = new CustomMaterialProperty<float>( this, SDFTypeFlareSubtractShader.maxShapeDistance );
|
||||
minShapeDistanceColor = new CustomMaterialProperty<float>( this, SDFTypeFlareSubtractShader.minShapeDistanceColor );
|
||||
maxShapeDistanceColor = new CustomMaterialProperty<float>( this, SDFTypeFlareSubtractShader.maxShapeDistanceColor );
|
||||
shapeColorDistortion = new CustomMaterialProperty<float>( this, SDFTypeFlareSubtractShader.shapeColorDistortion );
|
||||
shapeAlphaDistortion = new CustomMaterialProperty<float>( this, SDFTypeFlareSubtractShader.shapeAlphaDistortion );
|
||||
innerHsl = new CustomMaterialProperty<Vector4>( this, SDFTypeFlareSubtractShader.innerHsl );
|
||||
outerHsl = new CustomMaterialProperty<Vector4>( this, SDFTypeFlareSubtractShader.outerHsl );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://ctiiphbrfpvk1
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://ibo7qa8hf6he
|
||||
|
|
@ -1,135 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class ShapeFlareAddShader
|
||||
{
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/ShapeFlare/ShapeFlareAdd.gdshader"
|
||||
);
|
||||
|
||||
public static readonly IntPropertyName shapeType = IntPropertyName.Create( "shapeType" );
|
||||
public static readonly FloatPropertyName shapeScale = FloatPropertyName.Create( "shapeScale" );
|
||||
public static readonly FloatPropertyName shapeRotation = FloatPropertyName.Create( "shapeRotation" );
|
||||
public static readonly FloatPropertyName minShapeDistance = FloatPropertyName.Create( "minShapeDistance" );
|
||||
public static readonly FloatPropertyName maxShapeDistance = FloatPropertyName.Create( "maxShapeDistance" );
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName colorDistortion = FloatPropertyName.Create( "colorDistortion" );
|
||||
public static readonly FloatPropertyName alphaDistortion = FloatPropertyName.Create( "alphaDistortion" );
|
||||
public static readonly Vector4PropertyName centerHsl = Vector4PropertyName.Create( "centerHSL" );
|
||||
public static readonly Vector4PropertyName outsideHsl = Vector4PropertyName.Create( "outsideHSL" );
|
||||
public static readonly FloatPropertyName minHueRandom = FloatPropertyName.Create( "minHueRandom" );
|
||||
public static readonly FloatPropertyName maxHueRandom = FloatPropertyName.Create( "maxHueRandom" );
|
||||
public static readonly FloatPropertyName minShapeDistanceColor = FloatPropertyName.Create( "minShapeDistanceColor" );
|
||||
public static readonly FloatPropertyName maxShapeDistanceColor = FloatPropertyName.Create( "maxShapeDistanceColor" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly FloatPropertyName randomScaleMin = FloatPropertyName.Create( "randomScaleMin" );
|
||||
public static readonly FloatPropertyName randomScaleMax = FloatPropertyName.Create( "randomScaleMax" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly BoolPropertyName useQuickOcclusionTest = BoolPropertyName.Create( "useQuickOcclusionTest" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class ShapeFlareAddMaterial:CustomMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<int> shapeType;
|
||||
public readonly CustomMaterialProperty<float> shapeScale;
|
||||
public readonly CustomMaterialProperty<float> shapeRotation;
|
||||
public readonly CustomMaterialProperty<float> minShapeDistance;
|
||||
public readonly CustomMaterialProperty<float> maxShapeDistance;
|
||||
public readonly CustomMaterialProperty<Color> color;
|
||||
public readonly CustomMaterialProperty<float> opacity;
|
||||
public readonly CustomMaterialProperty<Texture2D> opacityCurve;
|
||||
public readonly CustomMaterialProperty<float> colorDistortion;
|
||||
public readonly CustomMaterialProperty<float> alphaDistortion;
|
||||
public readonly CustomMaterialProperty<Vector4> centerHsl;
|
||||
public readonly CustomMaterialProperty<Vector4> outsideHsl;
|
||||
public readonly CustomMaterialProperty<float> minHueRandom;
|
||||
public readonly CustomMaterialProperty<float> maxHueRandom;
|
||||
public readonly CustomMaterialProperty<float> minShapeDistanceColor;
|
||||
public readonly CustomMaterialProperty<float> maxShapeDistanceColor;
|
||||
public readonly CustomMaterialProperty<float> sizeX;
|
||||
public readonly CustomMaterialProperty<float> sizeY;
|
||||
public readonly CustomMaterialProperty<float> worldSizeScale;
|
||||
public readonly CustomMaterialProperty<float> screenSizeScale;
|
||||
public readonly CustomMaterialProperty<float> worldSizeVsScreenSize;
|
||||
public readonly CustomMaterialProperty<float> randomScaleMin;
|
||||
public readonly CustomMaterialProperty<float> randomScaleMax;
|
||||
public readonly CustomMaterialProperty<Vector2> screenOffsetScale;
|
||||
public readonly CustomMaterialProperty<Vector2> screenOffsetLayerSpread;
|
||||
public readonly CustomMaterialProperty<Texture2D> fading;
|
||||
public readonly CustomMaterialProperty<Texture2D> opacityFading;
|
||||
public readonly CustomMaterialProperty<Texture2D> sizeXfading;
|
||||
public readonly CustomMaterialProperty<Texture2D> sizeYfading;
|
||||
public readonly CustomMaterialProperty<bool> useQuickOcclusionTest;
|
||||
public readonly CustomMaterialProperty<float> occlusionZOffset;
|
||||
public readonly CustomMaterialProperty<int> occlusionTestMaxSteps;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestStepStride;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestViewDependingScaleAmount;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestViewDependingDistance;
|
||||
|
||||
public ShapeFlareAddMaterial()
|
||||
{
|
||||
Shader = ShapeFlareAddShader.shader.Get();
|
||||
|
||||
shapeType = new CustomMaterialProperty<int>( this, ShapeFlareAddShader.shapeType );
|
||||
shapeScale = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.shapeScale );
|
||||
shapeRotation = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.shapeRotation );
|
||||
minShapeDistance = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.minShapeDistance );
|
||||
maxShapeDistance = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.maxShapeDistance );
|
||||
color = new CustomMaterialProperty<Color>( this, ShapeFlareAddShader.color );
|
||||
opacity = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.opacity );
|
||||
opacityCurve = new CustomMaterialProperty<Texture2D>( this, ShapeFlareAddShader.opacityCurve );
|
||||
colorDistortion = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.colorDistortion );
|
||||
alphaDistortion = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.alphaDistortion );
|
||||
centerHsl = new CustomMaterialProperty<Vector4>( this, ShapeFlareAddShader.centerHsl );
|
||||
outsideHsl = new CustomMaterialProperty<Vector4>( this, ShapeFlareAddShader.outsideHsl );
|
||||
minHueRandom = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.minHueRandom );
|
||||
maxHueRandom = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.maxHueRandom );
|
||||
minShapeDistanceColor = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.minShapeDistanceColor );
|
||||
maxShapeDistanceColor = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.maxShapeDistanceColor );
|
||||
sizeX = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.sizeX );
|
||||
sizeY = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.sizeY );
|
||||
worldSizeScale = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.worldSizeScale );
|
||||
screenSizeScale = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.screenSizeScale );
|
||||
worldSizeVsScreenSize = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.worldSizeVsScreenSize );
|
||||
randomScaleMin = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.randomScaleMin );
|
||||
randomScaleMax = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.randomScaleMax );
|
||||
screenOffsetScale = new CustomMaterialProperty<Vector2>( this, ShapeFlareAddShader.screenOffsetScale );
|
||||
screenOffsetLayerSpread = new CustomMaterialProperty<Vector2>( this, ShapeFlareAddShader.screenOffsetLayerSpread );
|
||||
fading = new CustomMaterialProperty<Texture2D>( this, ShapeFlareAddShader.fading );
|
||||
opacityFading = new CustomMaterialProperty<Texture2D>( this, ShapeFlareAddShader.opacityFading );
|
||||
sizeXfading = new CustomMaterialProperty<Texture2D>( this, ShapeFlareAddShader.sizeXfading );
|
||||
sizeYfading = new CustomMaterialProperty<Texture2D>( this, ShapeFlareAddShader.sizeYfading );
|
||||
useQuickOcclusionTest = new CustomMaterialProperty<bool>( this, ShapeFlareAddShader.useQuickOcclusionTest );
|
||||
occlusionZOffset = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.occlusionZOffset );
|
||||
occlusionTestMaxSteps = new CustomMaterialProperty<int>( this, ShapeFlareAddShader.occlusionTestMaxSteps );
|
||||
occlusionTestStepStride = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.occlusionTestStepStride );
|
||||
occlusionTestViewDependingScaleAmount = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.occlusionTestViewDependingScaleAmount );
|
||||
occlusionTestViewDependingDistance = new CustomMaterialProperty<float>( this, ShapeFlareAddShader.occlusionTestViewDependingDistance );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://btnca61nvu55p
|
||||
|
|
@ -1,241 +0,0 @@
|
|||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Colors.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Depth.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/SDF.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Noise.gdshaderinc"
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/Flares.gdshaderinc"
|
||||
|
||||
|
||||
// SHAPE
|
||||
group_uniforms Shape;
|
||||
|
||||
uniform int shapeType:hint_range(0,12);
|
||||
uniform float shapeScale:hint_range(0,1) = 0.5;
|
||||
uniform float shapeRotation:hint_range(-180,180) = 0;
|
||||
uniform float minShapeDistance = 0;
|
||||
uniform float maxShapeDistance = 0.05;
|
||||
|
||||
|
||||
group_uniforms;
|
||||
|
||||
// COLOR
|
||||
group_uniforms Color;
|
||||
uniform sampler2D depthTexture:hint_depth_texture;
|
||||
uniform vec4 color : source_color = vec4( 0.887, 0.434, 0.233, 1.0 );
|
||||
uniform float opacity = 1;
|
||||
uniform sampler2D opacityCurve:source_color;
|
||||
|
||||
uniform float colorDistortion:hint_range(0.2,20) = 2;
|
||||
uniform float alphaDistortion:hint_range(0.2,20) = 2;
|
||||
|
||||
uniform vec4 centerHSL = vec4( 0.08, 0.0, 0.18, 1.0 );
|
||||
varying vec4 centerColor;
|
||||
|
||||
uniform vec4 outsideHSL = vec4( -0.05, 1.65, 0.02, 0.0 );
|
||||
varying vec4 outsideColor;
|
||||
|
||||
uniform float minHueRandom = 0;
|
||||
uniform float maxHueRandom = 0;
|
||||
|
||||
|
||||
uniform float minShapeDistanceColor = 0;
|
||||
uniform float maxShapeDistanceColor = 0.05;
|
||||
|
||||
group_uniforms;
|
||||
|
||||
|
||||
|
||||
// SIZE
|
||||
group_uniforms Size;
|
||||
uniform float sizeX:hint_range(1,100) = 1;
|
||||
uniform float sizeY:hint_range(1,100) = 1;
|
||||
uniform float worldSizeScale = 1;
|
||||
uniform float screenSizeScale = 1;
|
||||
uniform float worldSize_vs_screenSize:hint_range(0,1) = 0.5;
|
||||
uniform float randomScaleMin = 1.0;
|
||||
uniform float randomScaleMax = 1.0;
|
||||
group_uniforms;
|
||||
|
||||
// SCREEN OFFSET
|
||||
group_uniforms ScreenOffset;
|
||||
uniform vec2 screenOffsetScale = vec2( 0, 0 );
|
||||
uniform vec2 screenOffsetLayerSpread = vec2( 0, 0 );
|
||||
|
||||
group_uniforms;
|
||||
|
||||
// Fading
|
||||
group_uniforms Fading;
|
||||
// uniform sampler2D fading:source_color, repeat_disable, filter_linear;
|
||||
// uniform sampler2D opacityFading:source_color, repeat_disable, filter_linear;
|
||||
// uniform sampler2D sizeXfading:source_color, repeat_disable, filter_linear;
|
||||
// uniform sampler2D sizeYfading:source_color, repeat_disable, filter_linear;
|
||||
uniform float fadingPower = 1.0;
|
||||
uniform float opacityFadingPower = 1.0;
|
||||
uniform float sizeXfadingPower = 1.0;
|
||||
uniform float sizeYfadingPower = 1.0;
|
||||
|
||||
varying float opacityFadeValue;
|
||||
group_uniforms;
|
||||
|
||||
|
||||
// OCCLUSION
|
||||
group_uniforms Occlusion;
|
||||
uniform bool useQuickOcclusionTest = false;
|
||||
uniform float occlusionZOffset:hint_range(-30,30) = 0;
|
||||
uniform int occlusionTestMaxSteps = 10;
|
||||
uniform float occlusionTestStepStride = 1;
|
||||
uniform float occlusionTest_ViewDependingScaleAmount:hint_range(0,1) = 0.5;
|
||||
uniform float occlusionTest_ViewDependingDistance = 100;
|
||||
varying float occlusionAlpha;
|
||||
group_uniforms;
|
||||
|
||||
|
||||
float getShapeDistance(
|
||||
int _shapeType, float _shapeScale, float _shapeRotation, vec2 _uv, float _minShapeDistance, float _maxShapeDistance )
|
||||
{
|
||||
float distance = 0.0;
|
||||
_shapeRotation += 180.0;
|
||||
_uv -= vec2( 0.5 );
|
||||
_uv = rotate_v2( _uv, _shapeRotation / 180.0 * 3.141592653 );
|
||||
_uv /= _shapeScale;
|
||||
|
||||
|
||||
if ( _shapeType == 0 ) { distance = sdCircle( _uv, 0.5 ); }
|
||||
else if ( _shapeType == 1 ) { distance = sdRoundedX( _uv, 0.5, 0.2 ); }
|
||||
else if ( _shapeType == 2 ) { distance = sdEquilateralTriangle( _uv, 0.666 ); }
|
||||
else if ( _shapeType == 3 ) { distance = sdBox( _uv, vec2( 0.5 ) ); }
|
||||
else if ( _shapeType == 4 ) { distance = sdPentagon( _uv, 0.5 ); }
|
||||
else if ( _shapeType == 5 ) { distance = sdHexagon( _uv, 0.5 ); }
|
||||
else if ( _shapeType == 6 ) { distance = sdOctogon( _uv, 0.5 ); }
|
||||
else if ( _shapeType == 7 ) { distance = sdHexagram( _uv, 0.333); }
|
||||
else if ( _shapeType == 8 ) { distance = sdPentagram( _uv, 0.6666 ); }
|
||||
else if ( _shapeType == 9 ) { distance = sdMoon( _uv, 0.0, 0.5, 0.4 ); }
|
||||
else if ( _shapeType == 10 ) { distance = sdMoon( _uv, 0.5, 0.5, 0.4 ); }
|
||||
else if ( _shapeType == 11 ) { distance = sdMoon( _uv, 0.1, 0.5, 0.3 ); }
|
||||
else if ( _shapeType == 12 ) { distance = sdHeart( _uv ); }
|
||||
|
||||
|
||||
return distance;
|
||||
|
||||
// float normalizedDistance = normalizeToRange01( distance, _minShapeDistance, _maxShapeDistance );
|
||||
|
||||
// return 1.0 - normalizedDistance;
|
||||
}
|
||||
|
||||
varying vec4 combinedColor;
|
||||
|
||||
void vertex()
|
||||
{
|
||||
float normalizedIndex = VERTEX.z;
|
||||
VERTEX.z = 0.0;
|
||||
|
||||
vec3 viewOffset = viewToWorldDirection( vec3( 0, 0, occlusionZOffset ), INV_VIEW_MATRIX );
|
||||
vec3 nodePositionView = worldToView( NODE_POSITION_WORLD + viewOffset, VIEW_MATRIX );
|
||||
vec2 screenPosition = viewToScreen( nodePositionView, PROJECTION_MATRIX );
|
||||
|
||||
float edgeDistance = max( 0.0, -sdBox( screenPosition - vec2( 0.5 ), vec2( 0.5 ) ) ) * 2.0;
|
||||
|
||||
// float fadeValue = textureLod( fading, screenPosition, 0.0 ).r;
|
||||
// float opacityValue = textureLod( opacityFading, screenPosition, 0.0 ).r;
|
||||
// float sizeXFade = textureLod( sizeXfading, screenPosition, 0.0 ).r;
|
||||
// float sizeYFade = textureLod( sizeYfading, screenPosition, 0.0 ).r;
|
||||
|
||||
float fadeValue = pow( edgeDistance, fadingPower );
|
||||
float opacityValue = pow( edgeDistance, opacityFadingPower );
|
||||
float sizeXFade = pow( edgeDistance, sizeXfadingPower );
|
||||
float sizeYFade = pow( edgeDistance, sizeYfadingPower );
|
||||
|
||||
float nodeScale = length( extractScale( MODEL_MATRIX ) );
|
||||
|
||||
float sX = sizeX * sizeXFade;
|
||||
float sY = sizeY * sizeYFade;
|
||||
|
||||
|
||||
vec2 uvPixelSize = vec2( 1.0, 1.0 ) / VIEWPORT_SIZE ;
|
||||
|
||||
vec2 scaledUVPixelSize = uvPixelSize * max( 1.0, nodePositionView.z / occlusionTest_ViewDependingDistance );
|
||||
uvPixelSize = mix( uvPixelSize, scaledUVPixelSize, occlusionTest_ViewDependingScaleAmount );
|
||||
|
||||
float occlusionValue = useQuickOcclusionTest ?
|
||||
|
||||
getQuickOcclusionAt( depthTexture, nodePositionView, uvPixelSize,
|
||||
occlusionTestMaxSteps, occlusionTestStepStride,
|
||||
PROJECTION_MATRIX, INV_PROJECTION_MATRIX ) :
|
||||
|
||||
getOcclusionAt( depthTexture, nodePositionView, uvPixelSize,
|
||||
occlusionTestMaxSteps, occlusionTestStepStride,
|
||||
PROJECTION_MATRIX, INV_PROJECTION_MATRIX );
|
||||
|
||||
occlusionAlpha = occlusionValue * fadeValue;
|
||||
|
||||
float camDist = length( NODE_POSITION_WORLD - CAMERA_POSITION_WORLD );
|
||||
vec2 sizeScaled = vec2( sX, sY ) * occlusionAlpha * nodeScale;
|
||||
vec2 size = mix( sizeScaled * worldSizeScale, sizeScaled * camDist * 0.1 * screenSizeScale, worldSize_vs_screenSize );
|
||||
|
||||
float randomScale = mix( randomScaleMin, randomScaleMax, random( vec2( normalizedIndex ) ) );
|
||||
|
||||
size *= randomScale;
|
||||
|
||||
|
||||
setFlareBillboard(
|
||||
MODELVIEW_MATRIX, MODELVIEW_NORMAL_MATRIX,
|
||||
VIEW_MATRIX, MAIN_CAM_INV_VIEW_MATRIX, MODEL_MATRIX,
|
||||
vec3( size.x, size.y, 1.0 ), screenOffsetScale + screenOffsetLayerSpread * ( normalizedIndex * 2.0 - 1.0 )
|
||||
);
|
||||
|
||||
vec3 hsl = RGBtoHSL( color.rgb );
|
||||
vec3 shiftedHSL = shiftHSL( hsl, centerHSL.rgb, 60.0 );
|
||||
vec3 shiftedRGB = HSLtoRGB( shiftedHSL );
|
||||
|
||||
combinedColor = color;
|
||||
|
||||
float rgbScale = getRGBScale( combinedColor.rgb );
|
||||
|
||||
float randomHueOffset = mix( minHueRandom, maxHueRandom, random( vec2( normalizedIndex ) + vec2( 0.23, 0.13 ) ) );
|
||||
|
||||
combinedColor.rgb = changeHueOfRGB( combinedColor.rgb / rgbScale, randomHueOffset ) * rgbScale;
|
||||
|
||||
rgbScale = getRGBScale( combinedColor.rgb );
|
||||
|
||||
centerColor = vec4( shiftRGBwithHSL( combinedColor.rgb / rgbScale, centerHSL.rgb, 60.0 ) * rgbScale, centerHSL.a * color.a );
|
||||
outsideColor = vec4( shiftRGBwithHSL( combinedColor.rgb / rgbScale, outsideHSL.rgb, 60.0 ) * rgbScale, outsideHSL.a * color.a );
|
||||
|
||||
opacityFadeValue = fadeValue * opacityValue;
|
||||
|
||||
float opacityMapValue = textureLod( opacityCurve, vec2( normalizedIndex, 0.0 ), 0.0 ).r;
|
||||
opacityFadeValue *= opacityMapValue;
|
||||
}
|
||||
|
||||
void fragment()
|
||||
{
|
||||
|
||||
// float distanceToCircle = 1.0 - min( 1, length( UV - vec2( 0.5, 0.5 ) ) / 0.5 );
|
||||
|
||||
// float normalizedDistance = normalizeToRange01( distance, _minShapeDistance, _maxShapeDistance );
|
||||
|
||||
// return 1.0 - normalizedDistance;
|
||||
|
||||
float distance = getShapeDistance( shapeType, shapeScale, -shapeRotation, UV, minShapeDistance, maxShapeDistance );
|
||||
|
||||
float normalizedAlphaDistance = normalizeToRange01( distance, minShapeDistance, maxShapeDistance );
|
||||
float alphaT = 1.0 - normalizedAlphaDistance;
|
||||
|
||||
float normalizedColorDistance = normalizeToRange01( distance, minShapeDistanceColor, maxShapeDistanceColor );
|
||||
float colorT = 1.0 - normalizedColorDistance;
|
||||
|
||||
colorT = pow( colorT, colorDistortion );
|
||||
alphaT = pow( alphaT, alphaDistortion );
|
||||
|
||||
float t = min( 1, colorT );
|
||||
vec4 mixedColor = mixThreeColors( outsideColor, combinedColor, centerColor, t );
|
||||
// mixedColor = outsideColor;
|
||||
mixedColor.a *= alphaT;
|
||||
|
||||
|
||||
ALBEDO = mixedColor.rgb;
|
||||
ALPHA = mixedColor.a * occlusionAlpha * opacity * opacityFadeValue;
|
||||
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://vfabwu76j40f
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://yy2pi2u1bg4n
|
||||
|
|
@ -1,135 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class ShapeFlareMixShader
|
||||
{
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/ShapeFlare/ShapeFlareMix.gdshader"
|
||||
);
|
||||
|
||||
public static readonly IntPropertyName shapeType = IntPropertyName.Create( "shapeType" );
|
||||
public static readonly FloatPropertyName shapeScale = FloatPropertyName.Create( "shapeScale" );
|
||||
public static readonly FloatPropertyName shapeRotation = FloatPropertyName.Create( "shapeRotation" );
|
||||
public static readonly FloatPropertyName minShapeDistance = FloatPropertyName.Create( "minShapeDistance" );
|
||||
public static readonly FloatPropertyName maxShapeDistance = FloatPropertyName.Create( "maxShapeDistance" );
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName colorDistortion = FloatPropertyName.Create( "colorDistortion" );
|
||||
public static readonly FloatPropertyName alphaDistortion = FloatPropertyName.Create( "alphaDistortion" );
|
||||
public static readonly Vector4PropertyName centerHsl = Vector4PropertyName.Create( "centerHSL" );
|
||||
public static readonly Vector4PropertyName outsideHsl = Vector4PropertyName.Create( "outsideHSL" );
|
||||
public static readonly FloatPropertyName minHueRandom = FloatPropertyName.Create( "minHueRandom" );
|
||||
public static readonly FloatPropertyName maxHueRandom = FloatPropertyName.Create( "maxHueRandom" );
|
||||
public static readonly FloatPropertyName minShapeDistanceColor = FloatPropertyName.Create( "minShapeDistanceColor" );
|
||||
public static readonly FloatPropertyName maxShapeDistanceColor = FloatPropertyName.Create( "maxShapeDistanceColor" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly FloatPropertyName randomScaleMin = FloatPropertyName.Create( "randomScaleMin" );
|
||||
public static readonly FloatPropertyName randomScaleMax = FloatPropertyName.Create( "randomScaleMax" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly BoolPropertyName useQuickOcclusionTest = BoolPropertyName.Create( "useQuickOcclusionTest" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class ShapeFlareMixMaterial:CustomMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<int> shapeType;
|
||||
public readonly CustomMaterialProperty<float> shapeScale;
|
||||
public readonly CustomMaterialProperty<float> shapeRotation;
|
||||
public readonly CustomMaterialProperty<float> minShapeDistance;
|
||||
public readonly CustomMaterialProperty<float> maxShapeDistance;
|
||||
public readonly CustomMaterialProperty<Color> color;
|
||||
public readonly CustomMaterialProperty<float> opacity;
|
||||
public readonly CustomMaterialProperty<Texture2D> opacityCurve;
|
||||
public readonly CustomMaterialProperty<float> colorDistortion;
|
||||
public readonly CustomMaterialProperty<float> alphaDistortion;
|
||||
public readonly CustomMaterialProperty<Vector4> centerHsl;
|
||||
public readonly CustomMaterialProperty<Vector4> outsideHsl;
|
||||
public readonly CustomMaterialProperty<float> minHueRandom;
|
||||
public readonly CustomMaterialProperty<float> maxHueRandom;
|
||||
public readonly CustomMaterialProperty<float> minShapeDistanceColor;
|
||||
public readonly CustomMaterialProperty<float> maxShapeDistanceColor;
|
||||
public readonly CustomMaterialProperty<float> sizeX;
|
||||
public readonly CustomMaterialProperty<float> sizeY;
|
||||
public readonly CustomMaterialProperty<float> worldSizeScale;
|
||||
public readonly CustomMaterialProperty<float> screenSizeScale;
|
||||
public readonly CustomMaterialProperty<float> worldSizeVsScreenSize;
|
||||
public readonly CustomMaterialProperty<float> randomScaleMin;
|
||||
public readonly CustomMaterialProperty<float> randomScaleMax;
|
||||
public readonly CustomMaterialProperty<Vector2> screenOffsetScale;
|
||||
public readonly CustomMaterialProperty<Vector2> screenOffsetLayerSpread;
|
||||
public readonly CustomMaterialProperty<Texture2D> fading;
|
||||
public readonly CustomMaterialProperty<Texture2D> opacityFading;
|
||||
public readonly CustomMaterialProperty<Texture2D> sizeXfading;
|
||||
public readonly CustomMaterialProperty<Texture2D> sizeYfading;
|
||||
public readonly CustomMaterialProperty<bool> useQuickOcclusionTest;
|
||||
public readonly CustomMaterialProperty<float> occlusionZOffset;
|
||||
public readonly CustomMaterialProperty<int> occlusionTestMaxSteps;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestStepStride;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestViewDependingScaleAmount;
|
||||
public readonly CustomMaterialProperty<float> occlusionTestViewDependingDistance;
|
||||
|
||||
public ShapeFlareMixMaterial()
|
||||
{
|
||||
Shader = ShapeFlareMixShader.shader.Get();
|
||||
|
||||
shapeType = new CustomMaterialProperty<int>( this, ShapeFlareMixShader.shapeType );
|
||||
shapeScale = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.shapeScale );
|
||||
shapeRotation = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.shapeRotation );
|
||||
minShapeDistance = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.minShapeDistance );
|
||||
maxShapeDistance = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.maxShapeDistance );
|
||||
color = new CustomMaterialProperty<Color>( this, ShapeFlareMixShader.color );
|
||||
opacity = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.opacity );
|
||||
opacityCurve = new CustomMaterialProperty<Texture2D>( this, ShapeFlareMixShader.opacityCurve );
|
||||
colorDistortion = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.colorDistortion );
|
||||
alphaDistortion = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.alphaDistortion );
|
||||
centerHsl = new CustomMaterialProperty<Vector4>( this, ShapeFlareMixShader.centerHsl );
|
||||
outsideHsl = new CustomMaterialProperty<Vector4>( this, ShapeFlareMixShader.outsideHsl );
|
||||
minHueRandom = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.minHueRandom );
|
||||
maxHueRandom = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.maxHueRandom );
|
||||
minShapeDistanceColor = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.minShapeDistanceColor );
|
||||
maxShapeDistanceColor = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.maxShapeDistanceColor );
|
||||
sizeX = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.sizeX );
|
||||
sizeY = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.sizeY );
|
||||
worldSizeScale = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.worldSizeScale );
|
||||
screenSizeScale = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.screenSizeScale );
|
||||
worldSizeVsScreenSize = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.worldSizeVsScreenSize );
|
||||
randomScaleMin = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.randomScaleMin );
|
||||
randomScaleMax = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.randomScaleMax );
|
||||
screenOffsetScale = new CustomMaterialProperty<Vector2>( this, ShapeFlareMixShader.screenOffsetScale );
|
||||
screenOffsetLayerSpread = new CustomMaterialProperty<Vector2>( this, ShapeFlareMixShader.screenOffsetLayerSpread );
|
||||
fading = new CustomMaterialProperty<Texture2D>( this, ShapeFlareMixShader.fading );
|
||||
opacityFading = new CustomMaterialProperty<Texture2D>( this, ShapeFlareMixShader.opacityFading );
|
||||
sizeXfading = new CustomMaterialProperty<Texture2D>( this, ShapeFlareMixShader.sizeXfading );
|
||||
sizeYfading = new CustomMaterialProperty<Texture2D>( this, ShapeFlareMixShader.sizeYfading );
|
||||
useQuickOcclusionTest = new CustomMaterialProperty<bool>( this, ShapeFlareMixShader.useQuickOcclusionTest );
|
||||
occlusionZOffset = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.occlusionZOffset );
|
||||
occlusionTestMaxSteps = new CustomMaterialProperty<int>( this, ShapeFlareMixShader.occlusionTestMaxSteps );
|
||||
occlusionTestStepStride = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.occlusionTestStepStride );
|
||||
occlusionTestViewDependingScaleAmount = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.occlusionTestViewDependingScaleAmount );
|
||||
occlusionTestViewDependingDistance = new CustomMaterialProperty<float>( this, ShapeFlareMixShader.occlusionTestViewDependingDistance );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://chr1ackucqmih
|
||||
|
|
@ -0,0 +1,180 @@
|
|||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/Flares.gdshaderinc"
|
||||
|
||||
|
||||
|
||||
// SHAPE
|
||||
group_uniforms Shape;
|
||||
|
||||
uniform float speedMultiply:hint_range(0,1) = 1;
|
||||
|
||||
uniform vec4 innerHSL = vec4( 0.0, 0.0, 0.0, 1.0 );
|
||||
uniform vec4 outerHSL = vec4( 0.0, 0.0, 0.0, 1.0 );
|
||||
uniform float colorFillRange:hint_range(0,5) = 0.5;
|
||||
uniform float colorFillDistributionPower:hint_range(0.01,5) = 1.0;
|
||||
|
||||
varying vec4 innerColor;
|
||||
varying vec4 outerColor;
|
||||
|
||||
group_uniforms Shape.Streaks;
|
||||
uniform float streaksFrequency:hint_range(0,8) = 1.0;
|
||||
uniform float streaksRotation:hint_range(0,16) = 0.0;
|
||||
uniform float streaksRotationSpeed:hint_range(-1,1) = 0.0;
|
||||
|
||||
uniform float streaksNoise:hint_range(0,2) = 0.0;
|
||||
uniform float streaksNoiseOffset:hint_range(-2,2) = 0.0;
|
||||
uniform float streaksNoiseScroll:hint_range(-1,1) = 0.0;
|
||||
|
||||
group_uniforms;
|
||||
|
||||
group_uniforms Shape.Streaks2;
|
||||
uniform bool streaks2enabled = false;
|
||||
uniform float streaks_add_vs_mult:hint_range(0,1) = 0.0;
|
||||
uniform float streaks2Multiply:hint_range(0,5) = 1.0;
|
||||
|
||||
uniform float streaksFrequency2:hint_range(0,8) = 0.0;
|
||||
uniform float streaksRotation2:hint_range(0,16) = 0.0;
|
||||
uniform float streaksRotationSpeed2:hint_range(-1,1) = 0.0;
|
||||
|
||||
uniform float streaksNoise2:hint_range(0,2) = 0.0;
|
||||
uniform float streaksNoiseOffset2:hint_range(-2,2) = 0.0;
|
||||
uniform float streaksNoiseScroll2:hint_range(-1,1) = 0.0;
|
||||
group_uniforms;
|
||||
|
||||
group_uniforms Shape.Mask;
|
||||
uniform float maskScale:hint_range(0,1) = 0.5;
|
||||
uniform float maskRange:hint_range(0,2) = 0.0;
|
||||
uniform float maskRangeOscillation:hint_range(0,1) = 0.1;
|
||||
uniform float maskRangeOscillationSpeed:hint_range(0,1) = 0.1;
|
||||
uniform float maskInnerSize:hint_range(0,2) = 1.0;
|
||||
uniform float maskFrequency:hint_range(0,2) = 0.0;
|
||||
uniform float maskRotation:hint_range(0,1) = 0.1;
|
||||
uniform float maskRotationSpeed:hint_range(-1,1) = 0.0;
|
||||
|
||||
group_uniforms;
|
||||
|
||||
group_uniforms Shape.Blend;
|
||||
uniform float blendingRange:hint_range(0,0.5) = 0.1;
|
||||
|
||||
|
||||
|
||||
|
||||
group_uniforms;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/BaseFlare/BaseFlare-Variables.gdshaderinc"
|
||||
|
||||
#define GENERATE_FLARE_VERTEX_DATA \
|
||||
{ \
|
||||
float _rgbScale = getRGBScale( combinedColor ); \
|
||||
innerColor = vec4( shiftRGBwithHSL( combinedColor.rgb / _rgbScale, innerHSL.rgb, 60.0) * _rgbScale, innerHSL.a * combinedColor.a ); \
|
||||
outerColor = vec4( shiftRGBwithHSL( combinedColor.rgb / _rgbScale, outerHSL.rgb, 60.0) * _rgbScale, outerHSL.a * combinedColor.a ); \
|
||||
} \
|
||||
|
||||
vec2 polarUV( vec2 _uv, float angleOffset )
|
||||
{
|
||||
vec2 toCenter = _uv - vec2( 0.5 );
|
||||
float d = length( toCenter );
|
||||
float a = atan( toCenter.y, toCenter.x );
|
||||
a = ( PI + a + angleOffset + PI * 2.0 * 0.75 ) / ( 2.0 * PI );
|
||||
|
||||
vec2 polarUV = vec2( d, mod( a, 1.0 ) );
|
||||
|
||||
return polarUV;
|
||||
}
|
||||
|
||||
float generateStreaks(
|
||||
vec2 _polarUV,
|
||||
vec2 _polarUV2,
|
||||
float blendAmount,
|
||||
|
||||
float _streaksFrequency,
|
||||
float _streaksRotation,
|
||||
float _streaksRotationSpeed,
|
||||
|
||||
float _streaksNoise,
|
||||
float _streaksNoiseOffset,
|
||||
float _streaksNoiseScroll
|
||||
)
|
||||
{
|
||||
|
||||
vec2 textureUVScale = max( vec2( _streaksNoise, _streaksFrequency ), 0.001 );
|
||||
|
||||
vec2 animatedRotation = vec2( _streaksNoiseOffset + speedMultiply * TIME * _streaksNoiseScroll,
|
||||
_streaksRotation + speedMultiply * TIME * _streaksRotationSpeed );
|
||||
|
||||
vec2 _tUV = _polarUV * textureUVScale + animatedRotation;
|
||||
vec2 _tUV2 = _polarUV2 * textureUVScale + animatedRotation;
|
||||
|
||||
|
||||
float mainLayer = perlinSeamlessWithRange( _tUV, vec2( 50.0 ) );
|
||||
float fadeLayer = perlinSeamlessWithRange( _tUV2 + vec2( 0.0, -0.5 * textureUVScale.y ), vec2( 50.0 ) );
|
||||
|
||||
|
||||
float layersMixed = mix( mainLayer, fadeLayer, blendAmount );
|
||||
|
||||
return layersMixed;
|
||||
}
|
||||
|
||||
vec4 generateFlare( vec2 _uv, vec4 _color, float _opacity )
|
||||
{
|
||||
float offset = 0.5;
|
||||
|
||||
float halfBlend = blendingRange * 0.5;
|
||||
|
||||
vec2 _polarUV = polarUV( _uv, 0.0 );
|
||||
vec2 _polarUV2 = polarUV( _uv, PI * 2.0 * offset );
|
||||
float r = _polarUV.x;
|
||||
float a = _polarUV.y;
|
||||
|
||||
float blendAmount = mod( a + ( 1.0 - halfBlend ) + halfBlend + ( 1.0 - halfBlend ), 1.0 );
|
||||
|
||||
if ( blendAmount > ( 1.0 - halfBlend * 2.0 ) )
|
||||
{
|
||||
float t = normalizeToRange01( blendAmount, 1.0, 1.0 - halfBlend * 2.0 );
|
||||
blendAmount = triangle( t );
|
||||
}
|
||||
else
|
||||
{
|
||||
blendAmount = 0.0;
|
||||
}
|
||||
|
||||
float streaks = generateStreaks( _polarUV, _polarUV2, blendAmount,
|
||||
streaksFrequency, streaksRotation, streaksRotationSpeed,
|
||||
streaksNoise, streaksNoiseOffset, streaksNoiseScroll
|
||||
);
|
||||
|
||||
if ( streaks2enabled )
|
||||
{
|
||||
float streaks2 = streaks2Multiply * generateStreaks( _polarUV, _polarUV2, blendAmount,
|
||||
streaksFrequency2, streaksRotation2, streaksRotationSpeed2,
|
||||
streaksNoise2, streaksNoiseOffset2, streaksNoiseScroll2
|
||||
);
|
||||
|
||||
float streaksMult = streaks * streaks2;
|
||||
float streaksAdd = streaks + streaks2;
|
||||
|
||||
streaks = mix( streaksAdd, streaksMult, streaks_add_vs_mult );
|
||||
}
|
||||
|
||||
float colorT = clamp( r * colorFillRange, 0.0, 1.0 );
|
||||
colorT = pow( colorT, colorFillDistributionPower );
|
||||
vec4 mixedColor = mixThreeColors( innerColor, _color, outerColor, colorT );
|
||||
|
||||
mixedColor.a *= streaks;
|
||||
|
||||
float animatedRotationRange = maskRange + sin( TIME * PI * 2.0 * maskRangeOscillationSpeed ) * maskRangeOscillation;
|
||||
|
||||
float lengthRandom = perlinSeamlessWithRange( vec2( _polarUV.y * maskFrequency + maskRotation + speedMultiply * TIME * maskRotationSpeed, 0.0 ), vec2( 50.0 ) ) * animatedRotationRange * 2.0 - animatedRotationRange;
|
||||
float lengthRandom2 = perlinSeamlessWithRange( vec2( _polarUV2.y * maskFrequency + maskRotation + speedMultiply * TIME * maskRotationSpeed, 0.0 ), vec2( 50.0 ) ) * animatedRotationRange * 2.0 - animatedRotationRange;
|
||||
|
||||
float length = max( mix( lengthRandom, lengthRandom2, blendAmount ) + maskInnerSize, 0.001 );
|
||||
float streak = smoothstep( length * maskScale, 0.0, r );
|
||||
|
||||
mixedColor.a *= streak;
|
||||
|
||||
// mixedColor *= _color;
|
||||
mixedColor.a *= _opacity;
|
||||
|
||||
return mixedColor;
|
||||
}
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/BaseFlare/BaseFlare-VertexFragment.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://8ctaenaswit7
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
shader_type spatial;
|
||||
render_mode blend_add, depth_test_disabled, cull_disabled, unshaded, fog_disabled;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/ShapeFlare/ShapeFlareBase.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/StarType/StarTypeFlare.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://d3ua8bynj1b8m
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
using Godot;
|
||||
|
||||
namespace Rokojori
|
||||
{
|
||||
// Generated by ShaderClassGenerator
|
||||
|
||||
public class StarTypeFlareAddShader
|
||||
{
|
||||
///*
|
||||
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||||
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/StarType/Variants/StarTypeFlareAdd.gdshader"
|
||||
);
|
||||
//*/
|
||||
|
||||
public static readonly FloatPropertyName speedMultiply = FloatPropertyName.Create( "speedMultiply" );
|
||||
public static readonly Vector4PropertyName innerHsl = Vector4PropertyName.Create( "innerHSL" );
|
||||
public static readonly Vector4PropertyName outerHsl = Vector4PropertyName.Create( "outerHSL" );
|
||||
public static readonly FloatPropertyName colorFillRange = FloatPropertyName.Create( "colorFillRange" );
|
||||
public static readonly FloatPropertyName colorFillDistributionPower = FloatPropertyName.Create( "colorFillDistributionPower" );
|
||||
public static readonly FloatPropertyName streaksFrequency = FloatPropertyName.Create( "streaksFrequency" );
|
||||
public static readonly FloatPropertyName streaksRotation = FloatPropertyName.Create( "streaksRotation" );
|
||||
public static readonly FloatPropertyName streaksRotationSpeed = FloatPropertyName.Create( "streaksRotationSpeed" );
|
||||
public static readonly FloatPropertyName streaksNoise = FloatPropertyName.Create( "streaksNoise" );
|
||||
public static readonly FloatPropertyName streaksNoiseOffset = FloatPropertyName.Create( "streaksNoiseOffset" );
|
||||
public static readonly FloatPropertyName streaksNoiseScroll = FloatPropertyName.Create( "streaksNoiseScroll" );
|
||||
public static readonly BoolPropertyName streaks2Enabled = BoolPropertyName.Create( "streaks2enabled" );
|
||||
public static readonly FloatPropertyName streaksAddVsMult = FloatPropertyName.Create( "streaks_add_vs_mult" );
|
||||
public static readonly FloatPropertyName streaks2Multiply = FloatPropertyName.Create( "streaks2Multiply" );
|
||||
public static readonly FloatPropertyName streaksFrequency2 = FloatPropertyName.Create( "streaksFrequency2" );
|
||||
public static readonly FloatPropertyName streaksRotation2 = FloatPropertyName.Create( "streaksRotation2" );
|
||||
public static readonly FloatPropertyName streaksRotationSpeed2 = FloatPropertyName.Create( "streaksRotationSpeed2" );
|
||||
public static readonly FloatPropertyName streaksNoise2 = FloatPropertyName.Create( "streaksNoise2" );
|
||||
public static readonly FloatPropertyName streaksNoiseOffset2 = FloatPropertyName.Create( "streaksNoiseOffset2" );
|
||||
public static readonly FloatPropertyName streaksNoiseScroll2 = FloatPropertyName.Create( "streaksNoiseScroll2" );
|
||||
public static readonly FloatPropertyName maskScale = FloatPropertyName.Create( "maskScale" );
|
||||
public static readonly FloatPropertyName maskRange = FloatPropertyName.Create( "maskRange" );
|
||||
public static readonly FloatPropertyName maskRangeOscillation = FloatPropertyName.Create( "maskRangeOscillation" );
|
||||
public static readonly FloatPropertyName maskRangeOscillationSpeed = FloatPropertyName.Create( "maskRangeOscillationSpeed" );
|
||||
public static readonly FloatPropertyName maskInnerSize = FloatPropertyName.Create( "maskInnerSize" );
|
||||
public static readonly FloatPropertyName maskFrequency = FloatPropertyName.Create( "maskFrequency" );
|
||||
public static readonly FloatPropertyName maskRotation = FloatPropertyName.Create( "maskRotation" );
|
||||
public static readonly FloatPropertyName maskRotationSpeed = FloatPropertyName.Create( "maskRotationSpeed" );
|
||||
public static readonly FloatPropertyName blendingRange = FloatPropertyName.Create( "blendingRange" );
|
||||
public static readonly ColorPropertyName color = ColorPropertyName.Create( "color" );
|
||||
public static readonly FloatPropertyName opacity = FloatPropertyName.Create( "opacity" );
|
||||
public static readonly Sampler2DPropertyName opacityCurve = Sampler2DPropertyName.Create( "opacityCurve" );
|
||||
public static readonly FloatPropertyName minHueRandom = FloatPropertyName.Create( "minHueRandom" );
|
||||
public static readonly FloatPropertyName maxHueRandom = FloatPropertyName.Create( "maxHueRandom" );
|
||||
public static readonly FloatPropertyName shapeNoiseAmount = FloatPropertyName.Create( "shapeNoiseAmount" );
|
||||
public static readonly FloatPropertyName shapeNoiseScale = FloatPropertyName.Create( "shapeNoiseScale" );
|
||||
public static readonly FloatPropertyName sizeX = FloatPropertyName.Create( "sizeX" );
|
||||
public static readonly FloatPropertyName sizeY = FloatPropertyName.Create( "sizeY" );
|
||||
public static readonly FloatPropertyName worldSizeScale = FloatPropertyName.Create( "worldSizeScale" );
|
||||
public static readonly FloatPropertyName screenSizeScale = FloatPropertyName.Create( "screenSizeScale" );
|
||||
public static readonly FloatPropertyName worldSizeVsScreenSize = FloatPropertyName.Create( "worldSize_vs_screenSize" );
|
||||
public static readonly FloatPropertyName randomScaleMin = FloatPropertyName.Create( "randomScaleMin" );
|
||||
public static readonly FloatPropertyName randomScaleMax = FloatPropertyName.Create( "randomScaleMax" );
|
||||
public static readonly FloatPropertyName extension = FloatPropertyName.Create( "extension" );
|
||||
public static readonly FloatPropertyName rotation = FloatPropertyName.Create( "rotation" );
|
||||
public static readonly FloatPropertyName rotationOverX = FloatPropertyName.Create( "rotationOverX" );
|
||||
public static readonly FloatPropertyName rotationOverY = FloatPropertyName.Create( "rotationOverY" );
|
||||
public static readonly FloatPropertyName rotationPerLayer = FloatPropertyName.Create( "rotationPerLayer" );
|
||||
public static readonly Vector2PropertyName screenOffset = Vector2PropertyName.Create( "screenOffset" );
|
||||
public static readonly Vector2PropertyName screenOffsetScale = Vector2PropertyName.Create( "screenOffsetScale" );
|
||||
public static readonly Vector2PropertyName screenOffsetLayerSpread = Vector2PropertyName.Create( "screenOffsetLayerSpread" );
|
||||
public static readonly IntPropertyName chromaticAberationMode = IntPropertyName.Create( "chromaticAberationMode" );
|
||||
public static readonly FloatPropertyName chromaticAberationAmount = FloatPropertyName.Create( "chromaticAberationAmount" );
|
||||
public static readonly IntPropertyName chromaticAberationSteps = IntPropertyName.Create( "chromaticAberationSteps" );
|
||||
public static readonly Vector2PropertyName chromaticAberationDirection = Vector2PropertyName.Create( "chromaticAberationDirection" );
|
||||
public static readonly FloatPropertyName chromaticAberationDirectionTowardsCenter = FloatPropertyName.Create( "chromaticAberationDirectionTowardsCenter" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterScale = FloatPropertyName.Create( "chromaticAberationCenterScale" );
|
||||
public static readonly FloatPropertyName chromaticAberationCenterOffset = FloatPropertyName.Create( "chromaticAberationCenterOffset" );
|
||||
public static readonly Vector3PropertyName chromaticAberationShifts = Vector3PropertyName.Create( "chromaticAberationShifts" );
|
||||
public static readonly FloatPropertyName chromaticAberationSmear = FloatPropertyName.Create( "chromaticAberationSmear" );
|
||||
public static readonly IntPropertyName fadingMode = IntPropertyName.Create( "fadingMode" );
|
||||
public static readonly Sampler2DPropertyName fading = Sampler2DPropertyName.Create( "fading" );
|
||||
public static readonly Sampler2DPropertyName opacityFading = Sampler2DPropertyName.Create( "opacityFading" );
|
||||
public static readonly Sampler2DPropertyName sizeXfading = Sampler2DPropertyName.Create( "sizeXfading" );
|
||||
public static readonly Sampler2DPropertyName sizeYfading = Sampler2DPropertyName.Create( "sizeYfading" );
|
||||
public static readonly FloatPropertyName fadingPower = FloatPropertyName.Create( "fadingPower" );
|
||||
public static readonly FloatPropertyName opacityFadingPower = FloatPropertyName.Create( "opacityFadingPower" );
|
||||
public static readonly FloatPropertyName sizeXfadingPower = FloatPropertyName.Create( "sizeXfadingPower" );
|
||||
public static readonly FloatPropertyName sizeYfadingPower = FloatPropertyName.Create( "sizeYfadingPower" );
|
||||
public static readonly IntPropertyName occlusionMode = IntPropertyName.Create( "occlusionMode" );
|
||||
public static readonly FloatPropertyName occlusionZOffset = FloatPropertyName.Create( "occlusionZOffset" );
|
||||
public static readonly IntPropertyName occlusionTestMaxSteps = IntPropertyName.Create( "occlusionTestMaxSteps" );
|
||||
public static readonly FloatPropertyName occlusionTestStepStride = FloatPropertyName.Create( "occlusionTestStepStride" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingScaleAmount = FloatPropertyName.Create( "occlusionTest_ViewDependingScaleAmount" );
|
||||
public static readonly FloatPropertyName occlusionTestViewDependingDistance = FloatPropertyName.Create( "occlusionTest_ViewDependingDistance" );
|
||||
public static readonly FloatPropertyName occlusionToSize = FloatPropertyName.Create( "occlusionToSize" );
|
||||
|
||||
}
|
||||
|
||||
[Tool]
|
||||
public partial class StarTypeFlareAddMaterial:BaseFlareMaterial
|
||||
{
|
||||
|
||||
|
||||
public readonly CustomMaterialProperty<float> speedMultiply;
|
||||
public readonly CustomMaterialProperty<Vector4> innerHsl;
|
||||
public readonly CustomMaterialProperty<Vector4> outerHsl;
|
||||
public readonly CustomMaterialProperty<float> colorFillRange;
|
||||
public readonly CustomMaterialProperty<float> colorFillDistributionPower;
|
||||
public readonly CustomMaterialProperty<float> streaksFrequency;
|
||||
public readonly CustomMaterialProperty<float> streaksRotation;
|
||||
public readonly CustomMaterialProperty<float> streaksRotationSpeed;
|
||||
public readonly CustomMaterialProperty<float> streaksNoise;
|
||||
public readonly CustomMaterialProperty<float> streaksNoiseOffset;
|
||||
public readonly CustomMaterialProperty<float> streaksNoiseScroll;
|
||||
public readonly CustomMaterialProperty<bool> streaks2Enabled;
|
||||
public readonly CustomMaterialProperty<float> streaksAddVsMult;
|
||||
public readonly CustomMaterialProperty<float> streaks2Multiply;
|
||||
public readonly CustomMaterialProperty<float> streaksFrequency2;
|
||||
public readonly CustomMaterialProperty<float> streaksRotation2;
|
||||
public readonly CustomMaterialProperty<float> streaksRotationSpeed2;
|
||||
public readonly CustomMaterialProperty<float> streaksNoise2;
|
||||
public readonly CustomMaterialProperty<float> streaksNoiseOffset2;
|
||||
public readonly CustomMaterialProperty<float> streaksNoiseScroll2;
|
||||
public readonly CustomMaterialProperty<float> maskScale;
|
||||
public readonly CustomMaterialProperty<float> maskRange;
|
||||
public readonly CustomMaterialProperty<float> maskRangeOscillation;
|
||||
public readonly CustomMaterialProperty<float> maskRangeOscillationSpeed;
|
||||
public readonly CustomMaterialProperty<float> maskInnerSize;
|
||||
public readonly CustomMaterialProperty<float> maskFrequency;
|
||||
public readonly CustomMaterialProperty<float> maskRotation;
|
||||
public readonly CustomMaterialProperty<float> maskRotationSpeed;
|
||||
public readonly CustomMaterialProperty<float> blendingRange;
|
||||
|
||||
public StarTypeFlareAddMaterial()
|
||||
{
|
||||
///*
|
||||
Shader = StarTypeFlareAddShader.shader.Get();
|
||||
//*/
|
||||
|
||||
speedMultiply = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.speedMultiply );
|
||||
innerHsl = new CustomMaterialProperty<Vector4>( this, StarTypeFlareAddShader.innerHsl );
|
||||
outerHsl = new CustomMaterialProperty<Vector4>( this, StarTypeFlareAddShader.outerHsl );
|
||||
colorFillRange = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.colorFillRange );
|
||||
colorFillDistributionPower = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.colorFillDistributionPower );
|
||||
streaksFrequency = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksFrequency );
|
||||
streaksRotation = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksRotation );
|
||||
streaksRotationSpeed = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksRotationSpeed );
|
||||
streaksNoise = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksNoise );
|
||||
streaksNoiseOffset = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksNoiseOffset );
|
||||
streaksNoiseScroll = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksNoiseScroll );
|
||||
streaks2Enabled = new CustomMaterialProperty<bool>( this, StarTypeFlareAddShader.streaks2Enabled );
|
||||
streaksAddVsMult = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksAddVsMult );
|
||||
streaks2Multiply = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaks2Multiply );
|
||||
streaksFrequency2 = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksFrequency2 );
|
||||
streaksRotation2 = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksRotation2 );
|
||||
streaksRotationSpeed2 = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksRotationSpeed2 );
|
||||
streaksNoise2 = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksNoise2 );
|
||||
streaksNoiseOffset2 = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksNoiseOffset2 );
|
||||
streaksNoiseScroll2 = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.streaksNoiseScroll2 );
|
||||
maskScale = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.maskScale );
|
||||
maskRange = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.maskRange );
|
||||
maskRangeOscillation = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.maskRangeOscillation );
|
||||
maskRangeOscillationSpeed = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.maskRangeOscillationSpeed );
|
||||
maskInnerSize = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.maskInnerSize );
|
||||
maskFrequency = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.maskFrequency );
|
||||
maskRotation = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.maskRotation );
|
||||
maskRotationSpeed = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.maskRotationSpeed );
|
||||
blendingRange = new CustomMaterialProperty<float>( this, StarTypeFlareAddShader.blendingRange );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://dsip3doyfw03i
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
shader_type spatial;
|
||||
render_mode blend_mix, depth_test_disabled, cull_disabled, unshaded, fog_disabled;
|
||||
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/ShapeFlare/ShapeFlareBase.gdshaderinc"
|
||||
#include "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Flares/StarType/StarTypeFlare.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://dijnka3rbg2s0
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue