Главная страница
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.043 c
4-1128076184
Alex_1234
2005-09-30 14:29
2005.12.04
19200,СОМ-порт,ДОСом - помогитите, плизззз


2-1131903490
zxc
2005-11-13 20:38
2005.12.04
I/0 error 32


2-1132315243
Perf2k2
2005-11-18 15:00
2005.12.04
Проблема с Acces(через BDE) - не добавляет пустую строку в таблиц


14-1131788530
ronyn
2005-11-12 12:42
2005.12.04
Linux


14-1131945015
Некто
2005-11-14 08:10
2005.12.04
МультиЗагрузчик ОС