Главная страница
    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.005 c
2-1226764476
vegarulez
2008-11-15 18:54
2008.12.28
Поскажите в какой переменной полный путь к приложению?


1-1205207136
Igor23
2008-03-11 06:45
2008.12.28
FireFox+TWebbrowser


15-1225230195
Германн
2008-10-29 00:43
2008.12.28
Спам-боты


2-1226947858
Pv
2008-11-17 21:50
2008.12.28
Системная дата


4-1202052919
Riply
2008-02-03 18:35
2008.12.28
Использование SetFilePointer и SetEndOfFile.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский