Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.037 c
3-1129644747
DancerMan
2005-10-18 18:12
2005.12.04
DBGridEh. Как изменить цвет строки по клику на ней?


14-1131956398
Vlad Oshin
2005-11-14 11:19
2005.12.04
О содержании драг.металлов в РС, мониторах


14-1132142774
Иксик
2005-11-16 15:06
2005.12.04
Посоветуйте хороший форумный движок на asp/asp.net


10-1108540611
Карелин Артем
2005-02-16 10:56
2005.12.04
Как получить GUID объекта Automation?


14-1131464272
Копир
2005-11-08 18:37
2005.12.04
А что для Вас конференция "Потрепаться"?





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