Главная страница
    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.004 c
2-1226574698
Andrey_ka
2008-11-13 14:11
2008.12.28
как проверить существует ли переменная


15-1225259080
Slider007
2008-10-29 08:44
2008.12.28
С днем рождения ! 29 октября 2008 среда


8-1188655791
Dr. Andrew
2007-09-01 18:09
2008.12.28
Как программно вызвать палитру цветов от кнопки как в MS Word?


2-1226946443
demon
2008-11-17 21:27
2008.12.28
Как получить полный путь к файлу из относительного?


9-1176369733
akaValerius
2007-04-12 13:22
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский