<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.programmingexamples.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.programmingexamples.net/w/index.php?action=history&amp;feed=atom&amp;title=OpenGL%2FDrawCube</id>
		<title>OpenGL/DrawCube - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.programmingexamples.net/w/index.php?action=history&amp;feed=atom&amp;title=OpenGL%2FDrawCube"/>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/w/index.php?title=OpenGL/DrawCube&amp;action=history"/>
		<updated>2026-06-13T14:28:34Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>http://www.programmingexamples.net/w/index.php?title=OpenGL/DrawCube&amp;diff=355&amp;oldid=prev</id>
		<title>Daviddoria: Created page with '==DrawCube.cxx== &lt;source lang=&quot;cpp&quot;&gt; #include &lt;iostream&gt; #include &lt;cstdlib&gt; //for exit()  #include &lt;GL/glut.h&gt;  void display(void); void ProcessKeyboard(unsigned char key, int x,…'</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/w/index.php?title=OpenGL/DrawCube&amp;diff=355&amp;oldid=prev"/>
				<updated>2010-11-24T00:36:35Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;#039;==DrawCube.cxx== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;cstdlib&amp;gt; //for exit()  #include &amp;lt;GL/glut.h&amp;gt;  void display(void); void ProcessKeyboard(unsigned char key, int x,…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==DrawCube.cxx==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;cstdlib&amp;gt; //for exit()&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;GL/glut.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void display(void);&lt;br /&gt;
void ProcessKeyboard(unsigned char key, int x, int y);&lt;br /&gt;
void DrawCube();&lt;br /&gt;
void DrawSizedCube(const float s);&lt;br /&gt;
void polygon(int a, int b, int c , int d);&lt;br /&gt;
void DrawPoint(double x, double y, double z);&lt;br /&gt;
void LookAt();&lt;br /&gt;
&lt;br /&gt;
const unsigned int Width = 1000;&lt;br /&gt;
const unsigned int Height = 1000;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  glutInit(&amp;amp;argc, argv);&lt;br /&gt;
  glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);&lt;br /&gt;
  glutInitWindowSize(Width, Height);&lt;br /&gt;
  glutInitWindowPosition(0, 0);&lt;br /&gt;
&lt;br /&gt;
  // Setup the main window&lt;br /&gt;
  glutCreateWindow(&amp;quot;OpenGL Example&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  glutDisplayFunc(display);&lt;br /&gt;
&lt;br /&gt;
  glutMainLoop();&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void DrawPoint(double x, double y, double z)&lt;br /&gt;
{&lt;br /&gt;
  glPointSize(10.0);&lt;br /&gt;
  glBegin(GL_POINTS);&lt;br /&gt;
    glColor3f(1,0,0);//red&lt;br /&gt;
    glVertex3f(x,y,z);&lt;br /&gt;
  glEnd();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void display(void)&lt;br /&gt;
{&lt;br /&gt;
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);&lt;br /&gt;
  glEnable(GL_DEPTH_TEST);&lt;br /&gt;
&lt;br /&gt;
  LookAt();&lt;br /&gt;
  DrawCube();&lt;br /&gt;
  //DrawSizedCube(.5);&lt;br /&gt;
  //DrawPoint(1.0, 2.0, 1.0);&lt;br /&gt;
  //DrawPoint(0.0, 0.0, 0.0);&lt;br /&gt;
&lt;br /&gt;
  glutSwapBuffers();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ProcessKeyboard(unsigned char key, int x, int y)&lt;br /&gt;
{&lt;br /&gt;
  if (key == 27) //escape&lt;br /&gt;
  {&lt;br /&gt;
    exit(-1);&lt;br /&gt;
  }&lt;br /&gt;
  else if(key == 'q')&lt;br /&gt;
  {&lt;br /&gt;
    exit(-1);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  display();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void DrawSizedCube(const float s)&lt;br /&gt;
{&lt;br /&gt;
  glPushMatrix();&lt;br /&gt;
    glScalef(s,s,s);&lt;br /&gt;
    DrawCube();&lt;br /&gt;
  glPopMatrix();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void DrawCube()&lt;br /&gt;
{&lt;br /&gt;
  //back&lt;br /&gt;
  glColor3f(1.0f, 0.0f, 0.0f);	// Color Red&lt;br /&gt;
  polygon(0,3,2,1);&lt;br /&gt;
&lt;br /&gt;
  //top&lt;br /&gt;
  glColor3f(0.0f,1.0f,0.0f);	// Color Green&lt;br /&gt;
  polygon(2,3,7,6);&lt;br /&gt;
&lt;br /&gt;
  //left&lt;br /&gt;
  glColor3f(0.0f, 0.0f, 1.0f);	// Color Blue&lt;br /&gt;
  polygon(0,4,7,3);&lt;br /&gt;
&lt;br /&gt;
  //right&lt;br /&gt;
  glColor3f(1.0f,1.0f,0.0f);	// Color Yellow&lt;br /&gt;
  polygon(1,2,6,5);&lt;br /&gt;
&lt;br /&gt;
  //front&lt;br /&gt;
  glColor3f(0.0f,1.0f,1.0f);	// Color Cyan&lt;br /&gt;
  polygon(4,5,6,7);&lt;br /&gt;
&lt;br /&gt;
  //bottom&lt;br /&gt;
  glColor3f(1.0f,0.0f,1.0f);	// Color Magenta&lt;br /&gt;
  polygon(0,1,5,4);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void DrawAxes(void)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  glPushMatrix();&lt;br /&gt;
  /* No name for grey sphere */&lt;br /&gt;
&lt;br /&gt;
  glColor3f(0.3,0.3,0.3);&lt;br /&gt;
  glutSolidSphere(0.7, 20, 20);&lt;br /&gt;
&lt;br /&gt;
  glPushMatrix();&lt;br /&gt;
    glPushName(1);            /* Red cone is 1 */&lt;br /&gt;
      glColor3f(1,0,0);&lt;br /&gt;
      glRotatef(90,0,1,0);&lt;br /&gt;
      glutSolidCone(0.6, 4.0, 20, 20);&lt;br /&gt;
    glPopName();&lt;br /&gt;
  glPopMatrix();&lt;br /&gt;
&lt;br /&gt;
  glPushMatrix ();&lt;br /&gt;
    glPushName(2);            /* Green cone is 2 */&lt;br /&gt;
      glColor3f(0,1,0);&lt;br /&gt;
      glRotatef(-90,1,0,0);&lt;br /&gt;
      glutSolidCone(0.6, 4.0, 20, 20);&lt;br /&gt;
    glPopName();&lt;br /&gt;
  glPopMatrix();&lt;br /&gt;
&lt;br /&gt;
  glColor3f(0,0,1);         /* Blue cone is 3 */&lt;br /&gt;
  glPushName(3);&lt;br /&gt;
  glutSolidCone(0.6, 4.0, 20, 20);&lt;br /&gt;
  glPopName();&lt;br /&gt;
&lt;br /&gt;
  glPopMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GLfloat vertices[][3] = {{-1.0,-1.0,-1.0},{1.0,-1.0,-1.0},&lt;br /&gt;
		{1.0,1.0,-1.0}, {-1.0,1.0,-1.0}, {-1.0,-1.0,1.0},&lt;br /&gt;
{1.0,-1.0,1.0}, {1.0,1.0,1.0}, {-1.0,1.0,1.0}};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void polygon(int a, int b, int c , int d)&lt;br /&gt;
{&lt;br /&gt;
  glBegin(GL_QUADS);&lt;br /&gt;
  glVertex3fv(vertices[a]);&lt;br /&gt;
  glVertex3fv(vertices[b]);&lt;br /&gt;
  glVertex3fv(vertices[c]);&lt;br /&gt;
  glVertex3fv(vertices[d]);&lt;br /&gt;
  glEnd();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void LookAt()&lt;br /&gt;
{&lt;br /&gt;
  glMatrixMode(GL_PROJECTION);&lt;br /&gt;
  glLoadIdentity();&lt;br /&gt;
  gluPerspective(70, 1, 1, 100);&lt;br /&gt;
&lt;br /&gt;
  glMatrixMode(GL_MODELVIEW);&lt;br /&gt;
  glLoadIdentity();&lt;br /&gt;
&lt;br /&gt;
  //gluLookAt(2, 2, 10, 2, 0, 0, 0, 1, 0);&lt;br /&gt;
  gluLookAt(0, 5, 5, 0, 0, 0, 0, 1, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(DrawCube)&lt;br /&gt;
&lt;br /&gt;
find_package(GLUT)&lt;br /&gt;
find_package(OpenGL)&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(DrawCube DrawCube.cpp)&lt;br /&gt;
&lt;br /&gt;
TARGET_LINK_LIBRARIES(DrawCube ${GLUT_LIBRARY} ${OPENGL_LIBRARY})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	</feed>