Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


#ActualSlamDrag

Posted 30 March 2013 - 04:50 PM

I've been developing a little hobby program for the past few days and I've come across an interesting glitch that I haven't been able to solve. Basically when I started adding 3D cubes to the program they wouldn't render correctly. The top of the cube seemed to fall into the the cube. A screenshot of what is happening: http://i.imgur.com/aOFil5D.png My rendering code (note: I am writing the program in Java)

 

public static void drawCube(float x, float y, float z, Color col, float size)
{
GL11.glTranslatef(x, y, z);
GL11.glBegin(GL11.GL_QUADS);
//Top Face
GL11.glColor3f(col.r+0.05f,col.g+0.05f,col.b+0.05f); //Set face color
GL11.glVertex3f( size, size,-size); //Top right corner
GL11.glVertex3f( -size,size,-size); //Top left corner
GL11.glVertex3f( -size, size,size); //Bottom left corner
GL11.glVertex3f( size, size, size); //Bottom right corner
//Bottom face
GL11.glColor3f(col.r-0.1f,col.g-0.1f,col.b-0.1f); //Set cube color
GL11.glVertex3f( size, -size,size); //Top right corner
GL11.glVertex3f( -size,-size,size); //Top left corner
GL11.glVertex3f(-size,-size,-size); //Bottom left corner
GL11.glVertex3f( size,-size,-size); //Bottom right corner
//Front face
GL11.glColor3f(col.r-0.07f,col.g-0.07f,col.b-0.07f); //Set cube color
GL11.glVertex3f( size, size, size); // Top right corner
GL11.glVertex3f( -size, size,size); // Top left corner
GL11.glVertex3f( -size,-size,size); // Bottom left corner
GL11.glVertex3f( size, -size,size); // Bottom right corner
//Back face
GL11.glColor3f(col.r+0.02f,col.g+0.02f,col.b+0.02f); //Set cube color
GL11.glVertex3f( size,-size,-size); // Top right corner
GL11.glVertex3f(-size,-size,-size); // Top left corner
GL11.glVertex3f(-size, size,-size); // Bottom left corner
GL11.glVertex3f( size, size,-size); // Bottom right corner
//Left face
GL11.glColor3f(col.r,col.g,col.b); //Set cube color
GL11.glVertex3f(-size, size, size); // Top right corner
GL11.glVertex3f(-size, size,-size); // Top left corner
GL11.glVertex3f(-size,-size,-size); // Bottom left corner
GL11.glVertex3f(-size,-size, size); // Bottom right corner
//Right face
GL11.glColor3f(col.r-0.05f,col.g-0.05f,col.b-0.05f); //Set cube color
GL11.glVertex3f( size, size,-size); // Top right corner
GL11.glVertex3f( size, size, size); // Top left corner
GL11.glVertex3f( size,-size, size); // Bottom left corner
GL11.glVertex3f( size,-size,-size); // Bottom right corner*/
    GL11.glEnd();
    GL11.glLoadIdentity();
}

I honestly have no idea why this is caused. I have used this code before for rendering cubes and it worked fine.

Admittedly I am quite a noob using OpenGL, and don't fully understand the math behind it so I probably am missing something very obvious.

Additional Information:

I am using LWJGL to interface OpenGL and Java. As well as the Netbeans IDE (that shouldn't make a difference but I thought I would make a note of it anyways)

EDIT: Fudge, the formatting got messed up.


#4SlamDrag

Posted 30 March 2013 - 04:48 PM

I've been developing a little hobby program for the past few days and I've come across an interesting glitch that I haven't been able to solve. Basically when I started adding 3D cubes to the program they wouldn't render correctly. The top of the cube seemed to fall into the the cube. A screenshot of what is happening: http://i.imgur.com/aOFil5D.png My rendering code (note: I am writing the program in Java)

 

public static void drawCube(float x, float y, float z, Color col, float size)
{
GL11.glTranslatef(x, y, z);
GL11.glBegin(GL11.GL_QUADS);
//Top Face
GL11.glColor3f(col.r+0.05f,col.g+0.05f,col.b+0.05f); //Set face color
GL11.glVertex3f( size, size,-size); //Top right corner
GL11.glVertex3f( -size,size,-size); //Top left corner
GL11.glVertex3f( -size, size,size); //Bottom left corner
GL11.glVertex3f( size, size, size); //Bottom right corner
//Bottom face
GL11.glColor3f(col.r-0.1f,col.g-0.1f,col.b-0.1f); //Set cube color
GL11.glVertex3f( size, -size,size); //Top right corner
GL11.glVertex3f( -size,-size,size); //Top left corner
GL11.glVertex3f(-size,-size,-size); //Bottom left corner
GL11.glVertex3f( size,-size,-size); //Bottom right corner
//Front face
GL11.glColor3f(col.r-0.07f,col.g-0.07f,col.b-0.07f); //Set cube color
GL11.glVertex3f( size, size, size); // Top right corner
GL11.glVertex3f( -size, size,size); // Top left corner
GL11.glVertex3f( -size,-size,size); // Bottom left corner
GL11.glVertex3f( size, -size,size); // Bottom right corner
//Back face
GL11.glColor3f(col.r+0.02f,col.g+0.02f,col.b+0.02f); //Set cube color
GL11.glVertex3f( size,-size,-size); // Top right corner
GL11.glVertex3f(-size,-size,-size); // Top left corner
GL11.glVertex3f(-size, size,-size); // Bottom left corner
GL11.glVertex3f( size, size,-size); // Bottom right corner
//Left face
GL11.glColor3f(col.r,col.g,col.b); //Set cube color
GL11.glVertex3f(-size, size, size); // Top right corner
GL11.glVertex3f(-size, size,-size); // Top left corner
GL11.glVertex3f(-size,-size,-size); // Bottom left corner
GL11.glVertex3f(-size,-size, size); // Bottom right corner
//Right face
GL11.glColor3f(col.r-0.05f,col.g-0.05f,col.b-0.05f); //Set cube color
GL11.glVertex3f( size, size,-size); // Top right corner
GL11.glVertex3f( size, size, size); // Top left corner
GL11.glVertex3f( size,-size, size); // Bottom left corner
GL11.glVertex3f( size,-size,-size); // Bottom right corner*/
    GL11.glEnd();
    GL11.glLoadIdentity();
}

EDIT: Fudge, the formatting got messed up.


#3SlamDrag

Posted 30 March 2013 - 04:47 PM

I've been developing a little hobby program for the past few days and I've come across an interesting glitch that I haven't been able to solve. Basically when I started adding 3D cubes to the program they wouldn't render correctly. The top of the cube seemed to fall into the the cube. A screenshot of what is happening: http://i.imgur.com/aOFil5D.png My rendering code (note: I am writing the program in Java)


public static void drawCube(float x, float y, float z, Color col, float size)
{
GL11.glTranslatef(x, y, z);
GL11.glBegin(GL11.GL_QUADS);
//Top Face
GL11.glColor3f(col.r+0.05f,col.g+0.05f,col.b+0.05f); //Set face color
GL11.glVertex3f( size, size,-size); //Top right corner
GL11.glVertex3f( -size,size,-size); //Top left corner
GL11.glVertex3f( -size, size,size); //Bottom left corner
GL11.glVertex3f( size, size, size); //Bottom right corner
//Bottom face
GL11.glColor3f(col.r-0.1f,col.g-0.1f,col.b-0.1f); //Set cube color
GL11.glVertex3f( size, -size,size); //Top right corner
GL11.glVertex3f( -size,-size,size); //Top left corner
GL11.glVertex3f(-size,-size,-size); //Bottom left corner
GL11.glVertex3f( size,-size,-size); //Bottom right corner
//Front face
GL11.glColor3f(col.r-0.07f,col.g-0.07f,col.b-0.07f); //Set cube color
GL11.glVertex3f( size, size, size); // Top right corner
GL11.glVertex3f( -size, size,size); // Top left corner
GL11.glVertex3f( -size,-size,size); // Bottom left corner
GL11.glVertex3f( size, -size,size); // Bottom right corner
//Back face
GL11.glColor3f(col.r+0.02f,col.g+0.02f,col.b+0.02f); //Set cube color
GL11.glVertex3f( size,-size,-size); // Top right corner
GL11.glVertex3f(-size,-size,-size); // Top left corner
GL11.glVertex3f(-size, size,-size); // Bottom left corner
GL11.glVertex3f( size, size,-size); // Bottom right corner
//Left face
GL11.glColor3f(col.r,col.g,col.b); //Set cube color
GL11.glVertex3f(-size, size, size); // Top right corner
GL11.glVertex3f(-size, size,-size); // Top left corner
GL11.glVertex3f(-size,-size,-size); // Bottom left corner
GL11.glVertex3f(-size,-size, size); // Bottom right corner
//Right face
GL11.glColor3f(col.r-0.05f,col.g-0.05f,col.b-0.05f); //Set cube color
GL11.glVertex3f( size, size,-size); // Top right corner
GL11.glVertex3f( size, size, size); // Top left corner
GL11.glVertex3f( size,-size, size); // Bottom left corner
GL11.glVertex3f( size,-size,-size); // Bottom right corner*/
    GL11.glEnd();
    GL11.glLoadIdentity();
}

EDIT: Fudge, the formatting got messed up.


#2SlamDrag

Posted 30 March 2013 - 04:43 PM

I've been developing a little hobby program for the past few days and I've come across an interesting glitch that I haven't been able to solve. Basically when I started adding 3D cubes to the program they wouldn't render correctly. The top of the cube seemed to fall into the the cube. A screenshot of what is happening: http://i.imgur.com/aOFil5D.png My rendering code (note: I am writing the program in Java)

public static void drawCube(float x, float y, float z, Color col, float size) { GL11.glTranslatef(x, y, z); GL11.glBegin(GL11.GL_QUADS); //Top Face GL11.glColor3f(col.r+0.05f,col.g+0.05f,col.b+0.05f); //Set face color GL11.glVertex3f( size, size,-size); //Top right corner GL11.glVertex3f( -size,size,-size); //Top left corner GL11.glVertex3f( -size, size,size); //Bottom left corner GL11.glVertex3f( size, size, size); //Bottom right corner //Bottom face GL11.glColor3f(col.r-0.1f,col.g-0.1f,col.b-0.1f); //Set cube color GL11.glVertex3f( size, -size,size); //Top right corner GL11.glVertex3f( -size,-size,size); //Top left corner GL11.glVertex3f(-size,-size,-size); //Bottom left corner GL11.glVertex3f( size,-size,-size); //Bottom right corner //Front face GL11.glColor3f(col.r-0.07f,col.g-0.07f,col.b-0.07f); //Set cube color GL11.glVertex3f( size, size, size); // Top right corner GL11.glVertex3f( -size, size,size); // Top left corner GL11.glVertex3f( -size,-size,size); // Bottom left corner GL11.glVertex3f( size, -size,size); // Bottom right corner //Back face GL11.glColor3f(col.r+0.02f,col.g+0.02f,col.b+0.02f); //Set cube color GL11.glVertex3f( size,-size,-size); // Top right corner GL11.glVertex3f(-size,-size,-size); // Top left corner GL11.glVertex3f(-size, size,-size); // Bottom left corner GL11.glVertex3f( size, size,-size); // Bottom right corner //Left face GL11.glColor3f(col.r,col.g,col.b); //Set cube color GL11.glVertex3f(-size, size, size); // Top right corner GL11.glVertex3f(-size, size,-size); // Top left corner GL11.glVertex3f(-size,-size,-size); // Bottom left corner GL11.glVertex3f(-size,-size, size); // Bottom right corner //Right face GL11.glColor3f(col.r-0.05f,col.g-0.05f,col.b-0.05f); //Set cube color GL11.glVertex3f( size, size,-size); // Top right corner GL11.glVertex3f( size, size, size); // Top left corner GL11.glVertex3f( size,-size, size); // Bottom left corner GL11.glVertex3f( size,-size,-size); // Bottom right corner*/ GL11.glEnd(); GL11.glLoadIdentity(); }

EDIT: Fudge, the formatting got messed up.


#1SlamDrag

Posted 30 March 2013 - 04:42 PM

I've been developing a little hobby program for the past few days and I've come across an interesting glitch that I haven't been able to solve. Basically when I started adding 3D cubes to the program they wouldn't render correctly. The top of the cube seemed to fall into the the cube. A screenshot of what is happening: http://i.imgur.com/aOFil5D.png My rendering code (note: I am writing the program in Java)

public static void drawCube(float x, float y, float z, Color col, float size) { GL11.glTranslatef(x, y, z); GL11.glBegin(GL11.GL_QUADS); //Top Face GL11.glColor3f(col.r+0.05f,col.g+0.05f,col.b+0.05f); //Set face color GL11.glVertex3f( size, size,-size); //Top right corner GL11.glVertex3f( -size,size,-size); //Top left corner GL11.glVertex3f( -size, size,size); //Bottom left corner GL11.glVertex3f( size, size, size); //Bottom right corner //Bottom face GL11.glColor3f(col.r-0.1f,col.g-0.1f,col.b-0.1f); //Set cube color GL11.glVertex3f( size, -size,size); //Top right corner GL11.glVertex3f( -size,-size,size); //Top left corner GL11.glVertex3f(-size,-size,-size); //Bottom left corner GL11.glVertex3f( size,-size,-size); //Bottom right corner //Front face GL11.glColor3f(col.r-0.07f,col.g-0.07f,col.b-0.07f); //Set cube color GL11.glVertex3f( size, size, size); // Top right corner GL11.glVertex3f( -size, size,size); // Top left corner GL11.glVertex3f( -size,-size,size); // Bottom left corner GL11.glVertex3f( size, -size,size); // Bottom right corner //Back face GL11.glColor3f(col.r+0.02f,col.g+0.02f,col.b+0.02f); //Set cube color GL11.glVertex3f( size,-size,-size); // Top right corner GL11.glVertex3f(-size,-size,-size); // Top left corner GL11.glVertex3f(-size, size,-size); // Bottom left corner GL11.glVertex3f( size, size,-size); // Bottom right corner //Left face GL11.glColor3f(col.r,col.g,col.b); //Set cube color GL11.glVertex3f(-size, size, size); // Top right corner GL11.glVertex3f(-size, size,-size); // Top left corner GL11.glVertex3f(-size,-size,-size); // Bottom left corner GL11.glVertex3f(-size,-size, size); // Bottom right corner //Right face GL11.glColor3f(col.r-0.05f,col.g-0.05f,col.b-0.05f); //Set cube color GL11.glVertex3f( size, size,-size); // Top right corner GL11.glVertex3f( size, size, size); // Top left corner GL11.glVertex3f( size,-size, size); // Bottom left corner GL11.glVertex3f( size,-size,-size); // Bottom right corner*/ GL11.glEnd(); GL11.glLoadIdentity(); }

PARTNERS