В этом шаге мы посмотрим как работает режим сглаживания для точек и разберемся, что же такое viewport.
Сделайте все те же действия, что и в шаге 16, т.е. создайте проект и добавьте в него OpenGL.
Все изменения будут касаться только функции OnDraw. Вот код этой функции:
void CExampleView::OnDraw(CDC* pDC) { CRect clientRect; CExampleDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here GetClientRect(&clientRect); glViewport(0, 0, clientRect.right/2, clientRect.bottom/2); glClearColor (0.5, 0.5, 0.75, 1.0); // цвет фона glClear (GL_COLOR_BUFFER_BIT); // очистка буфера цвета glEnable(GL_POINT_SMOOTH); glPointSize (20); // размер точек glColor3f (1.0, 0.0, 0.5); // текущий цвет примитивов glBegin (GL_POINTS); glVertex2f (-1, -1); glVertex2f (-1, 1); glVertex2f (0, 0); glVertex2f (1, -1); glVertex2f (1, 1); glEnd(); glDisable(GL_POINT_SMOOTH); }
Здесь следует обратить внимание на команду glEnable(GL_POINT_SMOOTH), которая включает сглаживания для точек и на команду glViewport(...), которая определяет область вывода в окне. Скомпилируйте программку и посмотрите что получилось.