kaputt (wei, gaussian + water): !!ARBfp1.0TEMP __tmp_texcoord0; TEMP output, blur_coord, blur_mask, blur_sum, blur_dst, blur_tCoord, blur_pix, water0_normal, water0_temp, water0_total, water0_bump, water0_offset; TEX water0_normal, fragment.texcoord[3], texture[3], 2D; MOV water0_offset, water0_normal; MAD water0_normal, water0_normal, 2.0, -1.0; DP3 water0_temp, water0_normal, water0_normal; RSQ water0_temp, water0_temp.x; MUL water0_normal, water0_normal, water0_temp; MUL water0_offset, water0_normal, water0_offset.w; MUL water0_offset, water0_offset, program.env[5]; ADD __tmp_texcoord0, fragment.texcoord[0], water0_offset.yxzz; TEX output, __tmp_texcoord0, texture[0], 2D; MUL output, fragment.color, output; MUL blur_coord, fragment.position, program.env[0]; TEX blur_sum, blur_coord, texture[2], 2D; MUL_SAT blur_mask, output.a, program.env[1]; MUL blur_sum, blur_sum, 0.312500; ADD blur_tCoord, blur_coord, program.env[2]; TEX blur_pix, blur_tCoord, texture[2], 2D; MAD blur_sum, blur_pix, 0.015625, blur_sum; SUB blur_tCoord, blur_coord, program.env[2]; TEX blur_pix, blur_tCoord, texture[2], 2D; MAD blur_sum, blur_pix, 0.015625, blur_sum; ADD blur_tCoord, blur_coord, program.env[3]; TEX blur_pix, blur_tCoord, texture[2], 2D; MAD blur_sum, blur_pix, 0.328125, blur_sum; SUB blur_tCoord, blur_coord, program.env[3]; TEX blur_pix, blur_tCoord, texture[2], 2D; MAD blur_sum, blur_pix, 0.328125, blur_sum; MAD blur_dst, blur_mask, -output.a, blur_mask; MAD output.rgb, blur_sum, blur_dst.a, output; ADD output.a, output.a, blur_dst.a; DP3 water0_bump, water0_normal, { 0.707, 0.707, 0.0, 0.0 }; MUL water0_bump, water0_bump, state.light[0].diffuse; ADD output, output, water0_bump; MOV result.color, output; END geht: !!ARBfp1.0TEMP __tmp_texcoord0; TEMP output, water_normal, water_temp, water_total, water_bump, water_offset, blur0_coord, blur0_mask, blur0_sum, blur0_dst, blur0_tCoord, blur0_pix; TEX water_normal, fragment.texcoord[1], texture[1], 2D; MOV water_offset, water_normal; MAD water_normal, water_normal, 2.0, -1.0; DP3 water_temp, water_normal, water_normal; RSQ water_temp, water_temp.x; MUL water_normal, water_normal, water_temp; MUL water_offset, water_normal, water_offset.w; MUL water_offset, water_offset, program.env[0]; ADD __tmp_texcoord0, fragment.texcoord[0], water_offset.yxzz; TEX output, __tmp_texcoord0, texture[0], 2D; DP3 water_bump, water_normal, { 0.707, 0.707, 0.0, 0.0 }; MUL water_bump, water_bump, state.light[0].diffuse; MUL output, fragment.color, output; ADD output, output, water_bump; MUL blur0_coord, fragment.position, program.env[1]; TEX blur0_sum, blur0_coord, texture[3], 2D; MUL_SAT blur0_mask, output.a, program.env[2]; MUL blur0_sum, blur0_sum, 0.312500; ADD blur0_tCoord, blur0_coord, program.env[3]; TEX blur0_pix, blur0_tCoord, texture[3], 2D; MAD blur0_sum, blur0_pix, 0.015625, blur0_sum; SUB blur0_tCoord, blur0_coord, program.env[3]; TEX blur0_pix, blur0_tCoord, texture[3], 2D; MAD blur0_sum, blur0_pix, 0.015625, blur0_sum; ADD blur0_tCoord, blur0_coord, program.env[4]; TEX blur0_pix, blur0_tCoord, texture[3], 2D; MAD blur0_sum, blur0_pix, 0.328125, blur0_sum; SUB blur0_tCoord, blur0_coord, program.env[4]; TEX blur0_pix, blur0_tCoord, texture[3], 2D; MAD blur0_sum, blur0_pix, 0.328125, blur0_sum; MAD blur0_dst, blur0_mask, -output.a, blur0_mask; MAD output.rgb, blur0_sum, blur0_dst.a, output; ADD output.a, output.a, blur0_dst.a; MOV result.color, output; END