surface bubble param float Ka 0 param float Kd 0.01 param float Ks 1 param float roughness 0.15 param float Kr 1 param float Kt 1 param float eta 1.33 param float thickness 300 param float pattern 25 param float octaves 5 local string $_str_0 "shader" local color iridcolor 0 0 0 local normal Nf 0 0 0 local vector IN 0 0 0 local vector Rfldir 0 0 0 local color ev 0 0 0 local color cr 0 0 0 local vector R 0 0 0 local vector Rdir 0 0 0 local float pathlen 0 local float i 0 local float j 0 local float kr 0 local float kt 0 local color rgb1 0 0 0 local color rgb2 0 0 0 local color rgb3 0 0 0 local color rgb4 0 0 0 local color rgb5 0 0 0 local color rgb6 0 0 0 local color rgb7 0 0 0 local color rgb8 0 0 0 local float wl1 0 local float wl2 0 local float wl3 0 local float wl4 0 local float wl5 0 local float wl6 0 local float wl7 0 local float wl8 0 local point PP 0 0 0 local float value 0 local float frequency 0 initcode 9 return code return_area pushif 0 cset ev pushif 0 cset cr pushv I normalize popv IN pushv I pushv N normalize faceforward popv Nf pushf eta pushif 1 divff popf j pushv Nf pushv IN reflect popv Rfldir pushif 1 addF j pushif 1 addF j mulff pushif 1 subF j pushif 1 subF j mulff divff pushif 2 mulff popf kr pushf kr pushif 1 subff popf kt pushv I normalize pushv N normalize vdot popf j pushif 0 pushf j lt ifz 0 pushf j negf popf j label 0 label 1 pushif 0.9 pushif 0.1 mulF j addff popf j pushf j mulF kt popf kt pushf kt pushif 1 subff popf kr pushf Kr mulF kr popf kr pushf Kt mulF kt popf kt pushiv 0.1 0 0.1 popc rgb1 pushiv 0.1 0 0.3 popc rgb2 pushiv 0 0 0.3 popc rgb3 pushiv 0 0.3 0.3 popc rgb4 pushiv 0 0.35 0 popc rgb5 pushiv 0.35 0.35 0 popc rgb6 pushiv 0.35 0 0 popc rgb7 pushiv 0.1 0 0 popc rgb8 pushif 380 popf wl1 pushif 420 popf wl2 pushif 440 popf wl3 pushif 490 popf wl4 pushif 510 popf wl5 pushif 580 popf wl6 pushif 645 popf wl7 pushif 780 popf wl8 pushv P pushs $_str_0 transforms popv PP pushif 0 popf value pushif 0.5 popf frequency pushif 0 popf i label 2 pushf octaves pushf i lt ifz 4 pushif 2 mulF frequency popf frequency pushf frequency pushif 1 pushv PP noisev pushif 2 mulff subff mulff addF value popf value pushif 2 pushv PP mulvf popv PP label 3 pushif 1 addF i popf i jump 2 label 4 pushf frequency divF value popf value pushf pattern mulF value addF thickness popf pathlen pushif 0.001 pushf kr gt ifz 5 pushv Rfldir normalize popv Rdir pushv Rdir pushv P trace mulFv kr popc ev pushv I normalize pushv N normalize vdot popf j pushif 0 pushf j lt ifz 7 pushf j negf popf j label 7 label 8 pushif 0.001 pushf j lt ifz 9 pushif 0.001 divF pathlen popf pathlen jump 10 label 9 pushf j divF pathlen popf pathlen label 10 pushiv 0 0 0 popc iridcolor pushf wl1 pushf pathlen pushif 2 mulff divff pushif 6.28319 mulff pushif 3.14159 addff popf j pushc rgb1 pushf j cos pushif 2 mulff mulfc addC iridcolor popc iridcolor pushf wl2 pushf pathlen pushif 2 mulff divff pushif 6.28319 mulff pushif 3.14159 addff popf j pushc rgb2 pushf j cos pushif 2 mulff mulfc addC iridcolor popc iridcolor pushf wl3 pushf pathlen pushif 2 mulff divff pushif 6.28319 mulff pushif 3.14159 addff popf j pushc rgb3 pushf j cos pushif 2 mulff mulfc addC iridcolor popc iridcolor pushf wl4 pushf pathlen pushif 2 mulff divff pushif 6.28319 mulff pushif 3.14159 addff popf j pushc rgb4 pushf j cos pushif 2 mulff mulfc addC iridcolor popc iridcolor pushf wl5 pushf pathlen pushif 2 mulff divff pushif 6.28319 mulff pushif 3.14159 addff popf j pushc rgb5 pushf j cos pushif 2 mulff mulfc addC iridcolor popc iridcolor pushf wl6 pushf pathlen pushif 2 mulff divff pushif 6.28319 mulff pushif 3.14159 addff popf j pushc rgb6 pushf j cos pushif 2 mulff mulfc addC iridcolor popc iridcolor pushf wl7 pushf pathlen pushif 2 mulff divff pushif 6.28319 mulff pushif 3.14159 addff popf j pushc rgb7 pushf j cos pushif 2 mulff mulfc addC iridcolor popc iridcolor pushf wl8 pushf pathlen pushif 2 mulff divff pushif 6.28319 mulff pushif 3.14159 addff popf j pushc rgb8 pushf j cos pushif 2 mulff mulfc addC iridcolor popc iridcolor pushif 650 pushf thickness ge ifz 11 pushiv 1 1 1 popc iridcolor label 11 label 12 pushif 650 pushf thickness lt pushif 0 pushf thickness gt and ifz 13 pushif 650 divF thickness popf j pushf j mulF j pushif 1 subff pushif 0.5 mulff popf j pushf j pushif 1 subff pushiv 1 1 1 mulcf pushf j pushc iridcolor mulcf addcc popc iridcolor label 13 label 14 label 5 label 6 pushif 0.001 pushf kt gt ifz 15 pushv I normalize pushv P trace mulFv kt popc cr label 15 label 16 pushif 1 cset Oi pushc cr pushf roughness pushv IN negv pushv Nf specular mulFv Ks addC ev mulC iridcolor pushv Nf diffuse mulFv Kd ambient mulFv Ka addcc mulC iridcolor addcc addcc popc Ci return