- nit main;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs,GL,GLU;
- ...
- implementation
- {$R *.dfm}
- procedure TForm1.SetDCPixelFormat(Handle:HDC);
- var
- pfd:TPixelFormatDescriptor;
- nPixelFormat:Integer;
- begin
- FillChar(pfd, SizeOf(pfd), 0);
- with pfd do
- begin
- nSize := sizeof(pfd);
- nVersion :=1;
- dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL;
- iPixelType := PFD_TYPE_RGBA;
- cColorBits := 24;
- cDepthBits := 32;
- iLayerType := PFD_MAIN_PLANE;
- end;
- nPixelFormat := ChoosePixelFormat(Handle, @pfd);
- SetPixelFormat(Handle, nPixelFormat, @pfd);
- end;
- procedure TForm1.Zeichnung;
- begin
- glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
- glbegin(GL_TRIANGLES);
- glVertex2f(-0.9,0.0);
- glVertex2f(-0.7,0.9);
- glVertex2f(-0.5,0.0);
- glEnd;
- end;
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- SetDCPixelFormat(Canvas.Handle);
- hrc:= wglCreateContext(Canvas.Handle);
- end;
- procedure TForm1.FormDestroy(Sender: TObject);
- begin
- wglDeleteContext(hrc);
- end;
- procedure TForm1.FormPaint(Sender: TObject);
- begin
- wglMakeCurrent(Canvas.Handle, hrc);
- Zeichnung;
- wglMakeCurrent(0,0);
- end;
- end.