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

Вниз

---|Ветка была без названия|---   Найти похожие ветки 

 
R2D2   (2003-02-01 22:32) [0]

Здравствуйте, может кто-нибудь из вас разбирал пример texanim из каталога демок... В этом примере динамически генерируется набор из 10 текстур и затем создается эффект анимации с помощью последовательного применения этих текстур. Вопрос в собственно в том как огранизовать применение не заранее сгенерированного набора, а цикл типа "генерируем - применяем - заменяем текстуру - применяем - и т.д.". У меня возникает проблема на шаге замены текстуры - не получается удалить текстуру из библиотеки (AddTextureMaterial есть, а процедуры типа Delete нет)...


 
Alek Aaz   (2003-02-02 08:12) [1]

Есть.
GLMaterialLibrary.Materials.Delete(index:integer);
Указываешь порядковый номер текстуры и "Вуаля"


 
R2D2   (2003-02-02 15:17) [2]

procedure TForm1.Button1Click(Sender: TObject);
var
I,J:integer;
bmp : TBitmap;
begin
//генерируем BMP 32х32 и заполняем его цветом ColorDialog1.Color
bmp:=TBitmap.Create;
bmp.PixelFormat:=pf24bit;
bmp.Width:=32;
bmp.Height:=32;
for i:=0 to 31 do
for j:=0 to 31 do bmp.Canvas.Pixels[i,j]:=ColorDialog1.Color;
//В библиотеке при старте уже есть один материал - я создал его
//чтобы при удалении материала с индексом 0 не происходило ошибки.
//Удаляем 0-й мтериал
GLMaterialLibrary1.Materials.Delete(0);
//Добавляем на его место BMP (обзываем материал IMG0)
GLMaterialLibrary1.AddTextureMaterial("IMG0", bmp);
//Удаляем BMP
bmp.Free;
//Присваивем объекту новый IMG0
Plane1.Material.LibMaterialName:="IMG0";
//GLMaterialLibrary1.Tag:=0; - для чего это было нужно я пока не понял

end;

Вся проблема состоит в том, что работает только при первом нажатии на кнопку, все остальные нажатия картинку не изменяют. К тому же если после ВТОРОГО или следующих за ним нажатий окно сцены перекрывается другим окном, то объект "теряет" присвоенную текстуру и становится того цвета какой он имел при его конструировании "ручками" в Delphi... А после однократного нажатия все ОК... В чем же может быть дело...


 
R2D2   (2003-02-02 22:23) [3]

Кстати, есть еще такая демка - Fire2D (в ..\demo\materials лежит) - там судя по описанию именно как требуется генерируются и применяются текстуры, но проблемка в том, что для компиляции требуется библиотека Bitmap32 (скачал, поставил - сообщение об успешной установке - а Fire2D всеравно не компилится...)

ЗЫ Может собраться и сделать сайт\раздел на русском об GLScene ...


 
Alek Aaz   (2003-02-03 03:22) [4]

Ждемс 1-го релиза... Буду переводить хелп по тихоньку на GLScene.narod.ru



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

Форум: "Игры";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
3-77796
Felixx
2003-07-03 08:30
2003.07.24
Список доступных SQL серверов...


6-78037
MegaVolt
2003-05-14 12:38
2003.07.24
Как закрыть сеанс после работы в локальной сети?


1-77837
SerG2003
2003-07-12 11:42
2003.07.24
Повторный вызов


14-78110
BOA_KAA
2003-07-08 13:06
2003.07.24
Компонент типа TStringGrid


1-77955
Diatel
2003-07-11 02:39
2003.07.24
Выделение в МЕМО





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