0
votes

Suppose I have a square that I have created in the following way:

glBegin(GL_QUADS);
glColor3f(0.0f,1.0f,0.0f);  
glVertex3f( 1.0f, 1.0f,-1.0f);  
glVertex3f(-1.0f, 1.0f,-1.0f);  
glVertex3f(-1.0f, 1.0f, 1.0f);  
glVertex3f( 1.0f, 1.0f, 1.0f);  

glColor3f(1.0f,0.5f,0.0f);  
glVertex3f( 1.0f,-1.0f, 1.0f);  
glVertex3f(-1.0f,-1.0f, 1.0f);  
glVertex3f(-1.0f,-1.0f,-1.0f);  
glVertex3f( 1.0f,-1.0f,-1.0f);  

glColor3f(1.0f,1.0f,0.0f);  
glVertex3f( 1.0f,-1.0f,-1.0f);  
glVertex3f(-1.0f,-1.0f,-1.0f);  
glVertex3f(-1.0f, 1.0f,-1.0f);  
glVertex3f( 1.0f, 1.0f,-1.0f);  

glColor3f(0.0f,0.0f,1.0f);  
glVertex3f(-1.0f, 1.0f, 1.0f);  
glVertex3f(-1.0f, 1.0f,-1.0f);  
glVertex3f(-1.0f,-1.0f,-1.0f);  
glVertex3f(-1.0f,-1.0f, 1.0f);  

glColor3f(1.0f,0.0f,1.0f);  
glVertex3f( 1.0f, 1.0f,-1.0f);  
glVertex3f( 1.0f, 1.0f, 1.0f);  
glVertex3f( 1.0f,-1.0f, 1.0f);  
glVertex3f( 1.0f,-1.0f,-1.0f);  
glEnd();    

Now suppose I want to use an AABB structure to detect when a sphere collides with the sides of this cube (not the top nor the bottom of the cube) and thus prevent it from going through the cube? Any ideas on how to go about doing this?

Also would I be able to use the AABB structure if I had implemented the cube using glutSolidCube?

Also is there an easier of detecting collision without having to use AABB? Maybe like testing for intersection or something like that?

1

1 Answers

2
votes

OpenGL is a rendering system. It has no notion of collision detection or even objects beyond basic rendering primitives (points/lines/triangles). OpenGL is not going to help you do collision detection. You need to use a physics or collision library for that.