Главная страница
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.049 c
14-1131820947
Sergey Masloff
2005-11-12 21:42
2005.12.04
Плдарки. Тупой оффтоп


5-1114105409
FunkyByte
2005-04-21 21:43
2005.12.04
Как отобразить новое свойство в инспекторе объектов?


1-1131475324
тт
2005-11-08 21:42
2005.12.04
Как быстро заполнить таблицу word значениями?


6-1124950549
yasny
2005-08-25 10:15
2005.12.04
TIdSMTP получение поддтверждения о доставке


2-1132214384
ASB
2005-11-17 10:59
2005.12.04
ODBC драйвер - ошибки