0% found this document useful (0 votes)
13 views8 pages

Додаток №2

The document contains the code for an OpenGL program that draws 20 sets of lines with different stipple patterns, widths, and colors. It initializes the OpenGL context and draws the lines by looping through blocks of OpenGL calls.

Uploaded by

Pro STOY
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views8 pages

Додаток №2

The document contains the code for an OpenGL program that draws 20 sets of lines with different stipple patterns, widths, and colors. It initializes the OpenGL context and draws the lines by looping through blocks of OpenGL calls.

Uploaded by

Pro STOY
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 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