файлы которые нежно добавить в папку программы

*.avi, VFM.Pas, OpenGlProc.pas, dglut.pas, vfm.dcu, openglproc.dcu, dglut.dcu, ole2.dcu
кто не хочет искать эти файлы пишите corei7985@mail.ru я передам
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, OpenGl, jpeg, StdCtrls, Buttons,OpenGlProc, DGLUT,VFW;
type
TForm1 = class(TForm)
Timer1: TTimer;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
private
dc:hdc; hrc:HGLRC;
procedure init;
public
end;
var
Form1: TForm1; bit:tbitmap;
Im:array[0..127,0..127,0..2] of GLubyte;
aviname:pchar;
delay:Longint;
TmpBmp:TBitmap;
Bmp:TBItmap;
AviStream:PAVISTREAM;
frame:PGETFrame ;
Streaminfo:Tavistreaminfo;
dwcurrframe: dword=0;
pbmi:PBitmapInfoHeader;
bits:pchar;
hbmp:hbitmap;
arrayimage:array[0..127,0..127,0..2] of glubyte;
siz:integer=0; i,j:Integer;
implementation
{$R *.dfm}
Procedure CrTex;
var
i,k:integer; c:integer;
begin
for i:=0 to 127 do
for k:=0 to 127 do
begin
c:=bit.Canvas.Pixels[i,k];
Im[i,k][0]:=GetGvalue(c); Im[i,k][1]:=GetGvalue(c); Im[i,k][2]:=GetBvalue(c);
end;
GLTexImage2D(GL_TEXTURE_2D,0,GL_RGB,128,128,0,GL_RGB,GL_UNSIGNED_BYTE,@Im);
end;
Procedure SDCPF(dc:hdc);
var
i:Integer;
pfd:TPixelFormatDescriptor;
begin
FillChar(pfd,sizeof(pfd),0);
pfd.dwFlags:=PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER;
i:=ChoosePixelFormat(dc,@pfd); SetPixelFormat(dc,i,@pfd);
end;
procedure TForm1.init;
var
quad:GLUquadricObj;
const
lightpos0:array[0..3] of GLfloat=(-4,0,-4,0);
begin
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glLightfv(GL_LIGHT0,GL_POSITION,@lightpos0);
glEnable(GL_TEXTURE_2D);
glEnable(GL_DEPTH_TEST);
glEnable(GL_COLOR_MATERIAL);
quad:=gluNewQuadric;
GLUQuadricTexture(quad,true);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
//CrTex;
pbmi:=AVIStreamGetFrame(frame,dwcurrframe);
bits:=pointer(integer(pbmi)+SizeOf(tbitmapinfoheader));
hbmp:=CreateDIBitmap(dc,pbmi^,CBM_INIT,bits,pbitmapinfo(pbmi)^
,DIB_RGB_COLORS);
tmpbmp.Handle:=hbmp;
bmp.Canvas.StretchDraw(rect(0,0,bmp.Width,bmp.Height),tmpbmp);
for i:=0 to bmp.Width-1 do
for j:=0 to bmp.Height-1 do begin
arrayimage[i,j,0]:=getrvalue(bmp.Canvas.Pixels[i,j]);
arrayimage[i,j,1]:=getGvalue(bmp.Canvas.Pixels[i,j]);
arrayimage[i,j,2]:=getBvalue(bmp.Canvas.Pixels[i,j]);
end;
glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,
128,128,
0,GL_RGB,GL_UNSIGNED_BYTE,@Arrayimage);
glNewList(1,GL_COMPILE);
gluSphere(quad,1.0,50,50);
glEndList;
glEnable(GL_DEPTH_TEST);
glViewport(100,80,ClientWidth div 2, ClientHeight div 2);
end;
-> prod

Комментарии

Комментариев нет.