surface myshader param float Kd 0.8 param float Ka 0.2 local float sum 0 local float i 0 local float freq 0 initcode 1 return code return_area pushif 0 popf sum pushif 1 popf freq pushif 0 popf i label 0 pushif 6 pushf i lt ifz 2 pushf freq pushv I mulFv freq noisev pushif 0.5 subff abs divff addF sum popf sum pushf freq log addF freq popf freq label 1 pushif 1 addF i popf i jump 0 label 2 pushv I pushif 4 mulfv pushv N normalize faceforward diffuse mulFv Kd pushf Ka ftoc addcc pushf sum pushc Cs mulcf mulcc popc Ci return