Контрольная работа: Концепції програмування. Графічна система OpenGL
begin
glClear (GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); // очищення буферу кольору
glPushMatrix; // заповнюємо систему координат
glScalef (my/mx, my/mx, my/mx); // виконуємо маштабування
glRotatef (ry, 0.0, 1.0, 0.0); // виконуємо потовот
glTranslatef (tx, 0.0, 0.0); // виконуємо перенесення
case mode of // вибираємо режим відображення
POINT: glPolygonMode (GL_FRONT_AND_BACK, GL_POINT);
LINE: glPolygonMode (GL_FRONT_AND_BACK, GL_LINE);
FILL: glPolygonMode (GL_FRONT_AND_BACK, GL_FILL);
end;
glutSolidSphere (1.5, 20, 20); // будуємо сферу
glScalef (mx/my, mx/my, mx/my); // повертаємо систему в початкове полож
glPopMatrix; // повертаємо систему в попереднє положення
SwapBuffers (DC); // відображуємо на екрані
end;
procedure SetDCPixelFormat (hdc: HDC);
var
pfd: TPixelFormatDescriptor;
nPixelFormat: Integer;
begin
FillChar (pfd, SizeOf (pfd), 0);
pfd. dwFlags: = PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER;
nPixelFormat: = ChoosePixelFormat (hdc, @pfd);
SetPixelFormat (hdc, nPixelFormat, @pfd);
end;
procedure TfrmGL. FormCreate (Sender: TObject);
begin
DC: = GetDC (Handle);