I have integrated spiros code into my code but it still does not do collision detection.
[source = c++]
void drawScene() {
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,_textureId_four);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
for ( int I = 0; I < ENUM_TOTAL_BLOCKS; ++I ) {
if ( g_bBlock.m_bActive ) {
glBegin(GL_QUADS);
glTexCoord2f(-1.0f, 0.0f);
glVertex3f(g_bBlock.m_fX, g_bBlock.m_fY, 0.0f);
glTexCoord2f(-1.0f, 1.0f);
glVertex3f(g_bBlock.m_fX+2.0f, g_bBlock.m_fY, 0.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(g_bBlock.m_fX+2.0f, g_bBlock.m_fY-0.5f, 0.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(g_bBlock.m_fX, g_bBlock.m_fY-0.5f , 0.0f);
glEnd();
}
}
glDisable(GL_TEXTURE_2D);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,_textureId_three);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
for ( int I = 0; I < ENUM_TOTAL_BLOCKS; ++I ) {
if ( g_bBlock.m_bActive ) {
glBegin(GL_QUADS);
glTexCoord2f(-1.0f, 0.0f);
glVertex3f(g_bBlock.m_fX, g_bBlock.m_fY-0.5f, 0.0f);
glTexCoord2f(-1.0f, 1.0f);
glVertex3f(g_bBlock.m_fX+2.0f, g_bBlock.m_fY-0.5f, 0.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(g_bBlock.m_fX+2.0f, g_bBlock.m_fY-1.0f, 0.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(g_bBlock.m_fX, g_bBlock.m_fY-1.0f, 0.0f);
glEnd();
}
}
glDisable(GL_TEXTURE_2D);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,_textureId);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
for ( int I = 0; I < ENUM_TOTAL_BLOCKS; ++I ) {
if ( g_bBlock.m_bActive ) {
glBegin(GL_QUADS);
glTexCoord2f(-1.0f, 0.0f);
glVertex3f(g_bBlock.m_fX, g_bBlock.m_fY-1.0f, 0.0f);
glTexCoord2f(-1.0f, 1.0f);
glVertex3f(g_bBlock.m_fX+2.0f, g_bBlock.m_fY-1.0f, 0.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(g_bBlock.m_fX+2.0f, g_bBlock.m_fY-1.5f, 0.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(g_bBlock.m_fX, g_bBlock.m_fY-1.5f, 0.0f);
glEnd();
}
}
glDisable(GL_TEXTURE_2D);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,_textureId_two);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
//draw paddle
glBegin(GL_QUADS);
glTexCoord2f(-1.0f, 0.0f);
glVertex3f(-1.0f+j, -4.5f, 0.0f);
glTexCoord2f(-1.0f, 1.0f);
glVertex3f(1.0f+j, -4.5f, 0.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(1.0f+j, -5.0f, 0.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f+j, -5.0f, 0.0f);
glEnd();
glDisable(GL_TEXTURE_2D);
if(x>=3.0f && x<=5.0f && y>=3.5f && y<=4.0f)
{
bricks[3][5]=0;
glColor3f(0.0f,0.0f,0.0f);
glRectf(3.0f,4.0f,5.0f,3.5f);
}
//draw ball
glColor3f(1.0f,1.0f,1.0f);
glRectf(x,y,x+rsize,y-rsize);
glutSwapBuffers();
}
[/source]
I made some adjustments to her code.
little help
Look at the rendering code.
Do you not understand what this does?
Obviously if you want a brick to stop being drawn you have to set this to false.
L. Spiro
if ( g_bBlock.m_bActive ) {
Do you not understand what this does?
Obviously if you want a brick to stop being drawn you have to set this to false.
L. Spiro
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement