- procedure LoadTextureFromBitmap(bmp:TBitmap);
- var
- data:PByteArray;
- i,j,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_MIPMAP_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);
- FreeMem(data);
- end;