Форум: "Игры";
Текущий архив: 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