Контрольная работа: Перетворення координат, операції масштабування в бібліотеці Opengl

glEnable(GL_LIGHT0); // включаем источник света

makeStripeImage();

glPixelStorei(GL_UNPACK_ALIGNMENT, 1);

glTexParameterf(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

glTexParameterf(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

glTexImage1D(GL_TEXTURE_1D, 0, 3, stripeImageWidth, 0,

GL_RGB, GL_UNSIGNED_BYTE, @stripeImage);

glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);

glTexGenfv(GL_S, GL_OBJECT_PLANE, @sgenparams);

glEnable(GL_TEXTURE_GEN_S);

glEnable(GL_TEXTURE_1D);

end;

procedure TfrmGL.FormPaint(Sender: TObject);

begin

glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);

glPushMatrix;

glRotatef(Angle, 0.0, 1.0, 0.0); // поворот на угол

glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, @MaterialColor);

OutText ('Включення світла');

glPopMatrix;

SwapBuffers(DC);

end;

procedure FNTimeCallBack(uTimerID, uMessage: UINT;dwUser, dw1, dw2: DWORD) stdcall;

begin

With frmGL do begin

Angle := Angle + 0.2;

If (Angle >= 720.0) then Angle := 0.0;

MaterialColor [0] := (720.0 - Angle) / 720.0;

MaterialColor [1] := Angle / 720.0;

К-во Просмотров: 310
Бесплатно скачать Контрольная работа: Перетворення координат, операції масштабування в бібліотеці Opengl