FRAG DCL IN[0], GENERIC[0], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SVIEW[0], 2D, FLOAT DCL SVIEW[1], 2D, FLOAT DCL CONST[0] DCL TEMP[0..22], LOCAL IMM[0] FLT32 { 0.2500, -0.2500, 0.0000, 1.0000} IMM[1] FLT32 { -6.0000, 0.0000, 0.0000, 0.0000} IMM[2] INT32 {0, 6, 1, 0} 0: MOV TEMP[0].xy, IN[0].xyxx 1: MOV TEMP[1].xy, IN[0].xyyy 2: TEX TEMP[1], TEMP[1], SAMP[1], 2D 3: MOV TEMP[2], TEMP[1] 4: MOV TEMP[2], TEMP[1] 5: MOV TEMP[3].xy, IN[0].xyyy 6: TEX TEMP[3], TEMP[3], SAMP[0], 2D 7: MOV TEMP[4], TEMP[3] 8: MOV TEMP[4].xy, TEMP[3].xyzx 9: ADD TEMP[5].xy, -TEMP[3].ywww, TEMP[3].xzzz 10: MUL TEMP[5].xy, TEMP[5].xyyy, CONST[0].xxxx 11: DP4 TEMP[3].x, TEMP[3], TEMP[3] 12: MUL TEMP[6].xy, TEMP[5].xyyy, IMM[0].xyyy 13: FSGE TEMP[3].x, -TEMP[3].xxxx, IMM[0].zzzz 14: UIF TEMP[3].xxxx :0 15: MOV TEMP[3].x, IMM[0].zzzz 16: ELSE :0 17: MOV TEMP[3].x, IMM[0].wwww 18: ENDIF 19: MOV TEMP[5].w, TEMP[3].xxxx 20: MOV TEMP[5].xyz, TEMP[1].xyzx 21: MOV TEMP[4].z, IMM[0].wwww 22: MOV TEMP[4].w, IMM[1].xxxx 23: MOV TEMP[1].x, IMM[2].xxxx 24: BGNLOOP :0 25: ISGE TEMP[7].x, TEMP[1].xxxx, IMM[2].yyyy 26: UIF TEMP[7].xxxx :0 27: BRK 28: ENDIF 29: MAD TEMP[4].xy, TEMP[4].wwww, TEMP[6].xyyy, TEMP[0].xyyy 30: MOV TEMP[8].xy, TEMP[4].xyyy 31: TEX TEMP[9], TEMP[8], SAMP[0], 2D 32: MOV TEMP[10], TEMP[9] 33: ADD TEMP[11].xy, -TEMP[9].ywww, TEMP[9].xzzz 34: MOV TEMP[12].x, TEMP[11].xxyx 35: MOV TEMP[12].y, -TEMP[11].yyyy 36: DP2 TEMP[13].x, TEMP[6].xyyy, TEMP[12].xyyy 37: FSGE TEMP[14].x, -TEMP[13].xxxx, IMM[0].zzzz 38: UIF TEMP[14].xxxx :0 39: MOV TEMP[15].x, IMM[0].zzzz 40: ELSE :0 41: MOV TEMP[15].x, IMM[0].wwww 42: ENDIF 43: MOV TEMP[16].w, TEMP[15].xxxx 44: MOV TEMP[2].w, TEMP[15].xxxx 45: MOV TEMP[17].xy, TEMP[4].xyyy 46: TEX TEMP[18], TEMP[17], SAMP[1], 2D 47: MOV TEMP[19], TEMP[18] 48: MOV TEMP[12], TEMP[18] 49: FSNE TEMP[20].x, TEMP[15].xxxx, -TEMP[15].xxxx 50: UIF TEMP[20].xxxx :0 51: ADD TEMP[5].xyz, TEMP[5].xyzz, TEMP[18].xyzz 52: ADD TEMP[21].x, TEMP[4].zzzz, IMM[0].wwww 53: MOV TEMP[4].z, TEMP[21].xxxx 54: ENDIF 55: ADD TEMP[22].x, TEMP[4].wwww, IMM[0].wwww 56: MOV TEMP[4].w, TEMP[22].xxxx 57: UADD TEMP[1].x, TEMP[1].xxxx, IMM[2].zzzz 58: ENDLOOP :0 59: MOV TEMP[7].xyz, TEMP[5].xyzx 60: MOV TEMP[7].w, TEMP[4].zzzz 61: MOV TEMP[5].xyz, TEMP[5].xyzx 62: MOV TEMP[4].z, TEMP[4].zzzz 63: MOV TEMP[4].w, IMM[0].wwww 64: MOV TEMP[1].x, IMM[2].xxxx 65: BGNLOOP :0 66: ISGE TEMP[7].x, TEMP[1].xxxx, IMM[2].yyyy 67: UIF TEMP[7].xxxx :0 68: BRK 69: ENDIF 70: MAD TEMP[4].xy, TEMP[4].wwww, TEMP[6].xyyy, TEMP[0].xyyy 71: MOV TEMP[8].xy, TEMP[4].xyyy 72: TEX TEMP[9], TEMP[8], SAMP[0], 2D 73: MOV TEMP[10], TEMP[9] 74: ADD TEMP[11].xy, -TEMP[9].ywww, TEMP[9].xzzz 75: MOV TEMP[12].x, TEMP[11].xxyx 76: MOV TEMP[12].y, -TEMP[11].yyyy 77: DP2 TEMP[13].x, TEMP[6].xyyy, TEMP[12].xyyy 78: FSGE TEMP[14].x, -TEMP[13].xxxx, IMM[0].zzzz 79: UIF TEMP[14].xxxx :0 80: MOV TEMP[15].x, IMM[0].zzzz 81: ELSE :0 82: MOV TEMP[15].x, IMM[0].wwww 83: ENDIF 84: MOV TEMP[16].w, TEMP[15].xxxx 85: MOV TEMP[2].w, TEMP[15].xxxx 86: MOV TEMP[17].xy, TEMP[4].xyyy 87: TEX TEMP[18], TEMP[17], SAMP[1], 2D 88: MOV TEMP[19], TEMP[18] 89: MOV TEMP[12], TEMP[18] 90: FSNE TEMP[20].x, TEMP[15].xxxx, -TEMP[15].xxxx 91: UIF TEMP[20].xxxx :0 92: ADD TEMP[5].xyz, TEMP[5].xyzz, TEMP[18].xyzz 93: ADD TEMP[21].x, TEMP[4].zzzz, IMM[0].wwww 94: MOV TEMP[4].z, TEMP[21].xxxx 95: ENDIF 96: ADD TEMP[22].x, TEMP[4].wwww, IMM[0].wwww 97: MOV TEMP[4].w, TEMP[22].xxxx 98: UADD TEMP[1].x, TEMP[1].xxxx, IMM[2].zzzz 99: ENDLOOP :0 100: FSNE TEMP[0].x, TEMP[3].xxxx, -TEMP[3].xxxx 101: UIF TEMP[0].xxxx :0 102: RCP TEMP[0].x, TEMP[4].zzzz 103: MUL TEMP[4].xyz, TEMP[5].xyzz, TEMP[0].xxxx 104: ELSE :0 105: MOV TEMP[4].xyz, TEMP[2].xyzx 106: ENDIF 107: MOV TEMP[4].w, IMM[0].wwww 108: MOV OUT[0], TEMP[4] 109: END