97 |
PageSpanPaper.teardown = """ |
PageSpanPaper.teardown = """ |
98 |
PopAttrib |
PopAttrib |
99 |
""" |
""" |
100 |
|
|
101 |
|
if GL.hasExtension("GL_ARB_fragment_program"): |
102 |
|
PageSpanPaper.fpDualBlur = GL.createProgram("""!!ARBfp1.0 |
103 |
|
|
104 |
|
TEMP coord1; |
105 |
|
MOV coord1, fragment.texcoord[1]; |
106 |
|
MOV coord1.w, 4.0; |
107 |
|
|
108 |
|
TEMP tex1, tex1b; |
109 |
|
TEX tex1, coord1, texture[1], 2D; |
110 |
|
TXB tex1b, coord1, texture[1], 2D; |
111 |
|
|
112 |
|
TEMP coord0; |
113 |
|
MOV coord0, fragment.texcoord[0]; |
114 |
|
|
115 |
|
# Get intensity, invert, and multiply by a big number |
116 |
|
DP4 coord0.w, {-100,-100,-100,300}, tex1b; |
117 |
|
|
118 |
|
TEMP tex0; |
119 |
|
TXB tex0, coord0, texture[0], 2D; |
120 |
|
|
121 |
|
MUL result.color, tex0, tex1; |
122 |
|
END |
123 |
|
""") |
124 |
|
|
125 |
|
PageSpanPaper.setupDualPass = (""" |
126 |
|
PushAttrib ENABLE_BIT TEXTURE_BIT COLOR_BUFFER_BIT CURRENT_BIT |
127 |
|
BindProgram FRAGMENT_PROGRAM_ARB %s |
128 |
|
Enable FRAGMENT_PROGRAM_ARB |
129 |
|
Disable REGISTER_COMBINERS_NV |
130 |
|
Disable BLEND |
131 |
|
""" % PageSpanPaper.fpDualBlur.getProgId()) |