Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2008.12.28;
Скачать: [xml.tar.bz2];

Вниз

Подскажите в чем ошибка   Найти похожие ветки 

 
akaValerius ©   (2007-04-12 13:22) [0]

В чам ошибка квадрат белый без текстуры.

var
.....
 Tex: GLuInt;
implementation

{$R *.dfm}
procedure glGenTextures(N: GLSizei; Textures: PGLuInt); stdcall; external opengl32;
procedure glBindTexture(Target: GLEnum; Texture: GLuInt); stdcall; external opengl32;
function gluBuild2DMipmaps(Target: GLEnum; Components: GLInt;
 Width: GLInt; Height: GLInt; Format: GLEnum; _Type: GLEnum; Data: Pointer): GLInt; stdcall; external glu32;

procedure TForm1.FormCreate(Sender: TObject);
...
 CreateTextures;
...
procedure TForm1.CreateTextures;
var
Btex:TBitmap;
i,j,color:Integer;
TexData:array[0..255,0..255,0..2] of Byte;
begin
 Btex:= TBitmap.Create;
 Btex.LoadFromFile("2.bmp");
 For j:= 0 to 255 do
  For i:= 0 to 255 do begin
   color:=BTex.Canvas.Pixels[j,i];
   TexData[i,j,0] := GetRValue(color);
   TexData[i,j,1] := GetGValue(color);
   TexData[i,j,2] := GetBValue(color);
  end;
 Btex.Free;
 { Generate textures }
 glGenTextures(1, @Tex);
 glBindTexture(GL_TEXTURE_2D, Tex);
 glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,
 256,256,0,GL_RGB,GL_UNSIGNED_BYTE,@TexData);
end;

procedure TForm1.Draw;
begin
wglMakeCurrent(Canvas.Handle, hrc);
glEnable(GL_DEPTH_TEST);
VHSPosition.SetProjection;
glLoadMatrixf(@matidentity);
VHSPosition.MoveForward(up);
up:=0;
VHSPosition.RotateY(angleY);
VHSPosition.RotateX(angleX);
{***************************************************}
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
 glTexParameteri( GL_TEXTURE_2D , GL_TEXTURE_MIN_FILTER , GL_LINEAR );
 glTexParameteri( GL_TEXTURE_2D , GL_TEXTURE_MAG_FILTER , GL_LINEAR );
 glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_DECAL);
  glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, Tex);

glBegin(GL_QUADS);
 glTexCoord2f(0.0, 0.0); glVertex2f(-1.0, -1.0);
 glTexCoord2f(1.0, 0.0); glVertex2f( 1.0, -1.0);
 glTexCoord2f(1.0, 1.0); glVertex2f( 1.0,  1.0);
 glTexCoord2f(0.0, 1.0); glVertex2f(-1.0,  1.0);
glEnd;
glBindTexture(GL_TEXTURE_2D, 0);

SwapBuffers(Canvas.Handle);
glDisable(GL_TEXTURE_2D);
glDisable(GL_DEPTH_TEST);
wglMakeCurrent(0, 0);


 
Rial ©   (2007-04-12 17:58) [1]

Осмелюсь предположить, что ошибка либо тут:
...
Либо тут:
glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,
256,256,0,GL_RGB,GL_UNSIGNED_BYTE,@TexData);

Перечитай и изучи описание процедуры.

А вообще, процедура отрисовки будет жутко тормозить.
Вынеси из нее
wglMakeCurrent(Canvas.Handle, hrc);
wglMakeCurrent(0, 0);


Удали вообще
glDisable(GL_TEXTURE_2D);
glDisable(GL_DEPTH_TEST);


 
akaValerius ©   (2007-04-12 22:20) [2]

glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,
256,256,0,GL_RGB,GL_UNSIGNED_BYTE,@TexData);
Тут все нормал, я предпологаю что чтото связано с glBindTexture без нее все пашет, если просто
glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,
256,256,0,GL_RGB,GL_UNSIGNED_BYTE,@TexData);



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2008.12.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
15-1225271618
Jeer
2008-10-29 12:13
2008.12.28
Прощание с Магомаевым


15-1225290324
Ega23
2008-10-29 17:25
2008.12.28
Не убивается проект из Project Group


2-1226768553
main
2008-11-15 20:02
2008.12.28
Быстрый Swap,


15-1225089571
koha!
2008-10-27 09:39
2008.12.28
А где можно скачать Delph2 or Delphi3 or Deldhi4


2-1226816784
aNtId
2008-11-16 09:26
2008.12.28
работа с реестром





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский