Делфи и OPENGL! Как быть? Размер проги растет!
Делаю окно о программе на основе OPENGL в котором вращается сфера с названием программы ввиде текстуры сделанной в фотошопе. Но странное дело когда я открываю программу и смотрю в диспетчер задач, то размер в опративке растет как будто на дрожжах. Как быть где я неправильно поступаю. Вот исходный код некоторых частей:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
DC:=GetDC(Panel1.Handle);
PixelFormat(DC);
hrc:=wglCreateContext(DC);
wglMakeCurrent(DC,hrc);
end;
procedure TForm1.Draw;
var
ps : TPaintStruct;
Diffuse : ARRAY[0..3] of GLFloat;
pos : ARRAY[0..3] of GLFloat;
begin
Diffuse[0]:=0;
Diffuse[1]:=0;
Diffuse[2]:=1;
Diffuse[3]:=1;
POS[0]:=5;
POS[1]:=10;
POS[2]:=-10;
POS[3]:=1;
LoadTexture(ExtractFileDir(Application.ExeName)+'\Dll\Çîëîòî.jpg',MyTexture,False);
BeginPaint(Panel1.Handle,ps);
glClearColor(0,0,0,0);
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glLightfv(GL_LIGHT0,GL_POSITION,@POS);
glPUSHMatrix;
glOrtho(-10, 10, -10,10, -10, 10);
glRotate(90,1,0,0);
glRotate(Y,0,0,1);
glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, @DIFFUSE);
glEnable(GL_NORMALIZE);
GLEnable(GL_TEXTURE_2D);
QUADObj:=GLUnewQUADRIC();
gluQuadricTexture(QUADobj,GL_TRUE);
gluQUADRICdrawStyle(QUADobj,GLU_FILL);
//glColor3f(0,1,0);
gluSphere (quadObj, 9, 20, 20);
gluDeleteQuadric(QUADObj);
glDisable(GL_TEXTURE_2D);
glDisable(GL_NORMALIZE);
glPOPMatrix;
glDisable(GL_FOG);
glDisable(GL_DEPTH_TEST);
glFlush();
swapBuffers(DC);
EndPaint(Panel1.Handle,ps);
end;
procedure TForm1.PixelFormat(HDC : HDC);
Var
pfd : TPIXELFORMATDESCRIPTOR;
nPixelFormat : Integer;
begin
FillChar(pfd, SizeOf(pfd), 0);
nPixelFormat := ChoosePixelFormat (hdc, @pfd);
SetPixelFormat (hdc, nPixelFormat, @pfd);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
wglDeleteContext(hrc);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Draw();
Y:=Y+2;
end;
|