Chapter 3
Рисуем простые объекты

3.2  Точки

     Вы можете нарисовать столько точек, сколько вам нужно. Вызывая glVertex3d, вы устанавливаете новую точку. При создании точек вы можете изменять следующие параметры. Вы можете вызывать glColor3d внутри glBegin/glEnd. Размер точки можно устанавливать с помощью функции:

void glPointSize(GLfloat size)
Режим сглаживания можно устанавливать вызовом функции
glEnable(GL_POINT_SMOOTH)

     Отключается, соответственно, вызовом glDisable() c этим параметром. Последние функции - glPointSize и glEnable/glDisable надо вызывать вне glBegin/glEnd, иначе они будут проигнорированы. Функции glEnable/glDisable включают/выключают множество опций, но вы должны учитывать, что некоторые опции влекут за собой большие вычисления и, следовательно, изрядно затормаживают ваше приложение, поэтому без надобности не стоит их включать. Очевидно, что совершенно не к чему включать освещение, наложение текстры и сглаживания цветов при рисовании точек. Пока вы с этими возможностями OpenGL не познакомились, поэтому запомните это на будующее.

 // рисуем точки
  glPointSize(2);  
  glBegin(GL_POINTS);  
   glColor3d(1,0,0);  
   glVertex3d(-4.5,4,0); // первая точка

   glColor3d(0,1,0);  
   glVertex3d(-4,4,0);   // вторая точка

   glColor3d(0,0,1);     // третья
   glVertex3d(-3.5,4,0);
  glEnd();
  
  glPointSize(5);  
  glBegin(GL_POINTS);  
   glColor3d(1,0,0);  
   glVertex3d(-2,4,0); // первая точка

   glColor3d(0,1,0);  
   glVertex3d(-1,4,0);   // вторая точка  
   
   glColor3d(0,0,1);     // третье
   glVertex3d(0,4,0);
  glEnd();
  
  glPointSize(10);
  glEnable(GL_POINT_SMOOTH);  
  glBegin(GL_POINTS);  
   glColor3d(1,0,0);  
   glVertex3d(2,4,0); // первая точка

   glColor3d(0,1,0);  
   glVertex3d(3,4,0);   // вторая точка

   glColor3d(0,0,1);     // третья
   glVertex3d(4,4,0);
  glEnd();
  glDisable(GL_POINT_SMOOTH);