Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

unit Unit1;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, StdCtrls, ExtCtrls, opengl;

type

TForm1 = class(TForm)

procedure FormCreate(Sender: TObject);

procedure FormDestroy(Sender: TObject);

procedure The_FormPaint(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

hrc: HGLRC;

end;

var

Form1: TForm1;

x:double ;

y:double;

implementation

{$R *.dfm}

procedure SetDCPixelFOrmat (hdc: HDC);

var pfd: TPixelFormatDescriptor;

nPixelFormat: integer;

begin

FillChar (pfd,SizeOf(pfd), 0);

nPixelFormat:=ChoosePixelFormat(hdc, @pfd);

SetPixelFormat(hdc, nPixelFormat, @pfd);


end;

procedure TForm1.FormCreate(Sender: TObject);

begin

SetDCPixelFormat(Canvas.Handle);

hrc:=wglCreateContext(Canvas.Handle);

end;

procedure TForm1.The_FormPaint (Sender: TObject);

begin

wglMakeCurrent(Canvas.Handle, hrc);

{1}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $AAAA);

glEnable(GL_LINE_SMOOTH);

glLineWidth(6);

glBegin(GL_LINES);

glColor3d(0, 0, 1);

glVertex2d(0.04, 0.05);

glVertex2d(-0.09, 0.05);

glEnd;

{2}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $FFFF);

glEnable(GL_LINE_SMOOTH);

glLineWidth(3);

glBegin(GL_LINES);

glColor3d(2, 0, 1);

glVertex2d(0.08, 0.4);

glVertex2d(-0.08, 0.05);

glEnd;

{3}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $FFCC);

glEnable(GL_LINE_SMOOTH);

glLineWidth(3);

glBegin(GL_LINES);

glColor3d(1, 1, 1);
glVertex2d(0.01, 0.05);

glVertex2d(-0.09, 0.7);

glEnd;

{4}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $BBBB);

glEnable(GL_LINE_SMOOTH);

glLineWidth(2);

glBegin(GL_LINES);

glColor3d(1, 1, 1);

glVertex2d(-0.1, 0.3);

glVertex2d(0.4, 0.3);

glEnd;

{5}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $ABCD);

glEnable(GL_LINE_SMOOTH);

glLineWidth(2);

glBegin(GL_LINES);

glColor3d(0, 1, 0);

glVertex2d(0.01, 0.05);

glVertex2d(-0.09, 0.7);

glEnd;

{6}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $AAAA);

glEnable(GL_LINE_SMOOTH);

glLineWidth(2);

glBegin(GL_LINES);

glColor3d(1, 0, 0);

glVertex2d(-0.6, 0.3);

glVertex2d(0.4, 0.7);

glEnd;

{7}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $FF00);
glEnable(GL_LINE_SMOOTH);

glLineWidth(2);

glBegin(GL_LINES);

glColor3d(0, 0, 1);

glVertex2d(0.55, 0.5);

glVertex2d(-0.4, 0.5);

glEnd;

{8}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $AACC);

glEnable(GL_LINE_SMOOTH);

glLineWidth(4);

glBegin(GL_LINES);

glColor3d(0, 1, 0);

glVertex2d(0.3, -0.3);

glVertex2d(0.7, 0.3);

glEnd;

{9}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $AADD);

glEnable(GL_LINE_SMOOTH);

glLineWidth(4);

glBegin(GL_LINES);

glColor3d(2, 0, 1);

glVertex2d(0.2, 0.7);

glVertex2d(0.5, -0.3);

glEnd;

{10}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $FF00);

glEnable(GL_LINE_SMOOTH);

glLineWidth(4);

glBegin(GL_LINES);

glColor3d(1, 1, 1);

glVertex2d(-0.4, -0.5);

glVertex2d(0.8, -0.7);
glEnd;

{11}

glEnable(GL_LINE_STIPPLE);

glLineStipple(3, $FFFF);

glEnable(GL_LINE_SMOOTH);

glLineWidth(2);

glBegin(GL_LINES);

glColor3d(2, 0, 1);

glVertex2d(0.6, -0.84);

glVertex2d(0.7, 0.2);

glEnd;

{12}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $BBCC);

glEnable(GL_LINE_SMOOTH);

glLineWidth(2);

glBegin(GL_LINES);

glColor3d(0, 0, 2);

glVertex2d(-0.8, 0.5);

glVertex2d(-0.5, -0.3);

glEnd;

{13}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $BABA);

glEnable(GL_LINE_SMOOTH);

glLineWidth(1);

glBegin(GL_LINES);

glColor3d(2, 0, 1);

glVertex2d(-0.1, -0.5);

glVertex2d(0.1, -0.3);

glEnd;

{14}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $FFCC);

glEnable(GL_LINE_SMOOTH);

glLineWidth(1);
glBegin(GL_LINES);

glColor3d(0, 2, 0);

glVertex2d(0.2, -0.8);

glVertex2d(-0.1, -0.5);

glEnd;

{15}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $AAAA);

glEnable(GL_LINE_SMOOTH);

glLineWidth(1);

glBegin(GL_LINES);

glColor3d(0, 0, 1);

glVertex2d(0.9, 0.7);

glVertex2d(0.6, -0.3);

glEnd;

{16}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $CCCC);

glEnable(GL_LINE_SMOOTH);

glLineWidth(2);

glBegin(GL_LINES);

glColor3d(2, 0, 1);

glVertex2d(-1, 0.9);

glVertex2d(-0.6, -0.7);

glEnd;

{17}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $FF00);

glEnable(GL_LINE_SMOOTH);

glLineWidth(4);

glBegin(GL_LINES);

glColor3d(0, 1, 0);

glVertex2d(-0.8, 0.4);

glVertex2d(0.6, -0.5);

glEnd;

{18}
glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $FF00);

glEnable(GL_LINE_SMOOTH);

glLineWidth(2);

glBegin(GL_LINES);

glColor3d(1, 1, 1);

glVertex2d(1, -0.9);

glVertex2d(0.6, 0.7);

glEnd;

{19}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $FFCC);

glEnable(GL_LINE_SMOOTH);

glLineWidth(3);

glBegin(GL_LINES);

glColor3d(1, 1, 1);

glVertex2d(-1, 0.3);

glVertex2d(0.5, 1);

glEnd;

{20}

glEnable(GL_LINE_STIPPLE);

glLineStipple(2, $BBBB);

glEnable(GL_LINE_SMOOTH);

glLineWidth(2);

glBegin(GL_LINES);

glColor3d(0, 2, 0);

glVertex2d(0.5, -0.3);

glVertex2d(-0.6, 0.6);

glEnd;

wglMakeCurrent(0, 0);

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

wglDeleteContext(hrc);
end;

end.

You might also like