params.background->attach();
- // Draw
-
- glBegin(GL_QUADS);
- glMultiTexCoord2d(GL_TEXTURE0, 0.0, 0.0); glMultiTexCoord2d(GL_TEXTURE1, f_p[0] , f_p[1] ); glVertex2d( f_p[0] *2.0-1.0, f_p[1] *2.0-1.0);
- glMultiTexCoord2d(GL_TEXTURE0, 1.0, 0.0); glMultiTexCoord2d(GL_TEXTURE1, (f_p[0]+f_s[0]), f_p[1] ); glVertex2d((f_p[0]+f_s[0])*2.0-1.0, f_p[1] *2.0-1.0);
- glMultiTexCoord2d(GL_TEXTURE0, 1.0, 1.0); glMultiTexCoord2d(GL_TEXTURE1, (f_p[0]+f_s[0]), (f_p[1]+f_s[1])); glVertex2d((f_p[0]+f_s[0])*2.0-1.0, (f_p[1]+f_s[1])*2.0-1.0);
- glMultiTexCoord2d(GL_TEXTURE0, 0.0, 1.0); glMultiTexCoord2d(GL_TEXTURE1, f_p[0] , (f_p[1]+f_s[1])); glVertex2d( f_p[0] *2.0-1.0, (f_p[1]+f_s[1])*2.0-1.0);
- glEnd();
+ glMatrixMode(GL_MODELVIEW);
+ glPushMatrix();
+ glTranslated(f_p[0], f_p[1], 0);
+ glScaled(f_s[0], f_s[1], 1);
+
+ // Draw
+ glBegin(GL_QUADS);
+ glMultiTexCoord2d(GL_TEXTURE0, 0.0, 0.0); glVertex2d(0, 0);
+ glMultiTexCoord2d(GL_TEXTURE0, 1.0, 0.0); glVertex2d(1, 0);
+ glMultiTexCoord2d(GL_TEXTURE0, 1.0, 1.0); glVertex2d(1, 1);
+ glMultiTexCoord2d(GL_TEXTURE0, 0.0, 1.0); glVertex2d(0, 1);
+ glEnd();
+ glPopMatrix();
// Cleanup
"void main() \n"
"{ \n"
" gl_TexCoord[0] = gl_MultiTexCoord0; \n"
- " gl_TexCoord[1] = gl_MultiTexCoord1; \n"
- " gl_Position = ftransform(); \n"
+// " gl_TexCoord[1] = gl_MultiTexCoord1; \n"
+ " vec4 pos = ftransform(); \n"
+ " gl_TexCoord[1] = vec4(pos.xy, 0.0, 0.0); \n"
+ " pos.x = pos.x*2 - 1; \n"
+ " pos.y = pos.y*2 - 1; \n"
+ " gl_Position = pos; \n"
"} \n";
}