Thema: Delphi OpenGL Probleme

Einzelnen Beitrag anzeigen

Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#11

Re: OpenGL Probleme

  Alt 28. Mär 2005, 15:08
Loaden von Texturen...Ganz einfach.
Wichtig : Die folgende Procedure ist nicht von mir ! (von einem DGL Supporter)

Delphi-Quellcode:
procedure LoadTextureFromBitmap(bmp:TBitmap);
var
 data:PByteArray;
 i,w:integer;
 b:PByteArray;
begin
 bmp.PixelFormat:=pf32bit;
 getmem(data,bmp.width*bmp.height*4);

 w:=bmp.Width;
 for i:=0 to bmp.Height-1 do
 begin
  b:=bmp.ScanLine[i];
  move(b^,data^[i*w*4],w*4);
 end;

 gltexparameteri(GL_TEXTURE_2D,GL_Texture_min_filter,GL_LINEAR);
 gltexparameteri(GL_TEXTURE_2D,GL_Texture_mag_filter,GL_LINEAR);

 gluBuild2DMipmaps(GL_TEXTURE_2D,gl_RGBA8,bmp.width,bmp.Height,GL_BGRA,gl_unsigned_byte,data);
 //glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA8,bmp.width,bmp.Height,0,GL_BGRA, GL_UNSIGNED_BYTE, Data);
 FreeMem(data);
end;

// aufruf ist von mir :mrgreen:
procedure TForm1.Button1Click(Sender: TObject);
 var MyResBitmap : TBitmap;
     TextID : Cardinal;
begin
 MyResBitmap := TBitmap.Create;
  MyResBitmap.LoadFromResourceName(HInstance, 'MyBitmap' );
  glGenTextures(1,@TextID);
  glBindTexture(GL_TEXTURE_2D,TextID);
  LoadTextureFromBitmap(MyResBitmap);
 MyResBitmap.Free;
end;
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat