OpenGL
Материал из Вики проекта PascalABC.NET
OpenGL - открытая библиотека для написания приложений, использующих компьютерную графику. Для использования OpenGL нужно скачать модуль OpenGL.pas.
Пример программы, выводящей зеленый квадрат:
{$reference System.Windows.Forms.dll} {$reference System.Drawing.dll} {$apptype windows} uses System, System.Drawing, System.Windows.Forms, OpenGL; type Form1 = class(Form) _hdc : HDC; constructor Create; begin _hdc := GetDC(self.Handle.ToInt32()); OpenGLInit(self.Handle); end; protected procedure OnPaint(e: System.Windows.Forms.PaintEventArgs); override; begin glClearColor(single(0.0), single(0.0), single(0.0), single(0.0)); glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); glColor3f(single(0.0), single(1.0), single(0.0)); glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); glBegin(GL_POLYGON); glVertex2f(single(-0.5), single(-0.5)); glVertex2f(single(-0.5), single(0.5)); glVertex2f(single(0.5), single(0.5)); glVertex2f(single(0.5), single(-0.5)); glEnd(); glFlush(); SwapBuffers(_hdc); end; procedure Form_Closed(sender : object; e : EventArgs); begin OpenGLUninit(self.Handle); end; procedure Form_Resize(sender: object; e : EventArgs); begin glViewport(0, 0, Width, Height); end; end; var f : Form1; begin f := new Form1(); f.Resize += f.Form_Resize; f.Closed += f.Form_Closed; Application.Run(f); end.
