private void GLRender() {
		glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
		glLoadIdentity();

		
		
	
		
		glRotatef(xRot,1 , 0, 0);
		glRotatef(-yRot, 0, 1, 0);
		glTranslatef(-camX, -camY, -camZ);
		
		
		
		
	
		RenderFrame();
		
		// Axis
		glBegin(GL_LINES);
		
		 glColor3d(1, 0, 0);
		 glVertex3f(axis[0], axis[1], axis[2]);
		 glVertex3f(axis[3], axis[4], axis[5]);
			
		 glColor3d(0, 1, 0);
		 glVertex3f(axis[6], axis[7], axis[8]);
		 glVertex3f(axis[9], axis[10], axis[11]);
			
		 glColor3d(0, 0, 1);
		 glVertex3f(axis[12], axis[13], axis[14]);
		 glVertex3f(axis[15], axis[16], axis[17]);
			
			
		glEnd();
		
		// Draw Planes
		for(int i = 0 ; i < drawvecs.length; i++){
			if(needWriting[i]){
				glColor4d(color[i][0], color[i][1], color[i][2], alpha[i]);
				if (drawvecs[i][3] == null) {
					glBegin(GL_LINES);
					for(int j = 0 ; j < 2; j++){
						glVertex3d(drawvecs[i][j].getX(), drawvecs[i][j].getY(), drawvecs[i][j].getZ());
					}
					glEnd();
				}
			}
		}

		for(int i = 0 ; i < drawvecs.length; i++){
			if(needWriting[i]){
				glColor4d(color[i][0], color[i][1], color[i][2], alpha[i]);
				if (drawvecs[i][3] != null) {
					glBegin(GL_QUADS);
					for(int j = 0 ; j < drawvecs[i].length; j++){
						glVertex3d(drawvecs[i][j].getX(), drawvecs[i][j].getY(), drawvecs[i][j].getZ());
					}
					glEnd();
				}
			}
		}
	}