Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.04;
Скачать: CL | DM;

Вниз

Наложение текстуры на трехмерный объект произвольной формы   Найти похожие ветки 

 
VasRog   (2005-07-19 11:59) [0]

Создал трехмерную поверхность произвольной формы (через связанные треугольники).  Теперь нужно наложить текстуру,  загружаемую из файла на весь этот объект.  Размер текстуры - 512 - 512.  Размер отображаемой поверхности - 477 - 497. Пытаюсь сделать как в предлагает нам товарищ Краснов:

procedure BmpTexture;

var
 i_t, j_t: Integer;
 Row_t:  pRGBTripleArray;

beGin
  Bitmap_t := TBitmap.Create;
  Bitmap_t.LoadFromFile("egyptsandbig.bmp"); // загрузка текстуры из файла

  {--- заполнение битового массива ---}
   For j_t := 0 to 511 do
     beGin
     Row_t:= Bitmap_t.ScanLine[j_t];
     For i_t := 0 to 511 do
       beGin
       bits [j_t, i_t, 0] := Row_t[i_t].rgbtRed;
       bits [j_t, i_t, 1] := Row_t[i_t].rgbtGreen;
       bits [j_t, i_t, 2] := Row_t[i_t].rgbtBlue;
       end;
     end;
   
     

   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
                512, 512 ,     // здесь задается размер текстуры
                0, GL_RGB, GL_UNSIGNED_BYTE, @Bits);
   //  чтобы цвет объекта не влиял на текстуру
   glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
   glEnable(GL_TEXTURE_2D);
end;
Но возникает ошибка: Stream Read Error.  Помогите,  пожалуйста,  разобраться.  И еще:  как в моем случае определить s и t координать для заданной поверхности.


 
MeF Dei Corvi ©   (2005-07-19 12:41) [1]


> Но возникает ошибка: Stream Read Error.

очевидно косяк какой-то с форматом и содержимым файла.


 
XProger ©   (2005-07-19 12:48) [2]


s = x/Width;
t = y/Height;

Что есть bits?


 
VasRog   (2005-07-19 12:59) [3]

Bits: Array [0..511, 0..511, 0..2] of GLubyte;  
Это битовый массив.

> s = x/Width;
> t = y/Height;

Здесь Width и HeiGht - это ширина и длина поверхности?


 
A22 ©   (2005-07-19 13:38) [4]

угу, только X и Y от 0 считай



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

Текущий архив: 2005.12.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
2-1131824166
Виталий80
2005-11-12 22:36
2005.12.04
Как сделать ф-цию парсинга


2-1132218483
ASDF234
2005-11-17 12:08
2005.12.04
Поиск подстроки в строке .


14-1131907633
asdqwer
2005-11-13 21:47
2005.12.04
Ограничение на размер текста в элементе hidden HTML


2-1130844404
Moningstar
2005-11-01 14:26
2005.12.04
Из DLL не в DLL


2-1132472875
Era
2005-11-20 10:47
2005.12.04
Работа с базами независимо от Delphi