diff -r bdf8b68b1dd1 -r e56317fdf78d hedgewars/uMisc.pas --- a/hedgewars/uMisc.pas Fri Aug 08 13:46:12 2008 +0000 +++ b/hedgewars/uMisc.pas Fri Aug 08 19:34:55 2008 +0000 @@ -120,6 +120,7 @@ procedure SetLittle(var r: hwFloat); procedure SendStat(sit: TStatInfoType; s: shortstring); function Str2PChar(const s: shortstring): PChar; +function NewTexture(width, height: Longword; buf: Pointer): PTexture; function Surface2Tex(surf: PSDL_Surface): PTexture; procedure FreeTexture(tex: PTexture); function toPowerOf2(i: Longword): Longword; @@ -267,6 +268,22 @@ while (toPowerOf2 < i) do toPowerOf2:= toPowerOf2 shl 1 end; +function NewTexture(width, height: Longword; buf: Pointer): PTexture; +begin +new(NewTexture); +NewTexture^.w:= width; +NewTexture^.h:= height; + +glGenTextures(1, @NewTexture^.id); + +glBindTexture(GL_TEXTURE_2D, NewTexture^.id); + +glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, buf); + +glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); +glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR) +end; + function Surface2Tex(surf: PSDL_Surface): PTexture; var mode: LongInt; tw, th: Longword;