- procedure InitTextures;
- var
- textur: tbitmap;
- texdata : array [0..65535, 0..2] of glubyte;
- str : string;
- x,y : integer;
- r,g,b : byte;
- begin
- textur := tbitmap.create;
- textur.LoadFromFile('textur.bmp');
- for x := 0 to 255 do
- begin
- for y := 0 to 255 do
- begin
- str := inttohex(textur.canvas.pixels[x,y], 6);
- r := strtoint('$'+copy(str,5,2));
- g := strtoint('$'+copy(str,3,2));
- b := strtoint('$'+copy(str,1,2));
- texdata[(255-y)*255+x, 0] := r;
- texdata[(255-y)*255+x, 1] := g;
- texdata[(255-y)*255+x, 2] := b;
- end;
- end;
-
- textur.free;
- glGenTextures(1, tex);
- glBindTexture(GL_TEXTURE_2D, tex);
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_linear);
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_linear);
- glTexImage2D(GL_TEXTURE_2D, 0, 3, 256, 256, 0, GL_RGB, GL_UNSIGNED_BYTE, @texdata);
- end;