rendered paste bodyvoid GLSingleView::effectBlend()
{
if (m_i > 100) {
paintTexture();
m_effectRunning = false;
m_tmout = -1;
return;
}
int a = (m_curr == 0) ? 1 : 0;
int b = m_curr;
TexItem& ta = m_texItem[a];
TexItem& tb = m_texItem[b];
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
glRotatef(ta.angle, 0.0, 0.0, 1.0);
glBindTexture(GL_TEXTURE_2D, ta.tex);
glBegin(GL_QUADS);
{
glColor4f(1.0, 1.0, 1.0, 1.0);
glTexCoord2f(0, 0);
glVertex3f(-ta.cx, -ta.cy, 0);
glTexCoord2f(1, 0);
glVertex3f(ta.cx, -ta.cy, 0);
glTexCoord2f(1, 1);
glVertex3f(ta.cx, ta.cy, 0);
glTexCoord2f(0, 1);
glVertex3f(-ta.cx, ta.cy, 0);
}
glEnd();
glBegin(GL_QUADS);
{
glColor4f(0.0, 0.0, 0.0, 1.0/(100.0)*(float)m_i);
glVertex3f(-1, -1, 0);
glVertex3f(1, -1, 0);
glVertex3f(1, 1, 0);
glVertex3f(-1, 1, 0);
}
glEnd();
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
glRotatef(tb.angle, 0.0, 0.0, 1.0);
glBindTexture(GL_TEXTURE_2D, tb.tex);
glBegin(GL_QUADS);
{
glColor4f(1.0, 1.0, 1.0, 1.0/(100.0)*(float)m_i);
glTexCoord2f(0, 0);
glVertex3f(-tb.cx, -tb.cy, 0);
glTexCoord2f(1, 0);
glVertex3f(tb.cx, -tb.cy, 0);
glTexCoord2f(1, 1);
glVertex3f(tb.cx, tb.cy, 0);
glTexCoord2f(0, 1);
glVertex3f(-tb.cx, tb.cy, 0);
}
glEnd();
m_i++;
}