Вниз
Скачать: CL | DM;

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

 
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
14-78060
Antoniuss
2003-07-07 21:31
2003.07.24
Бит


14-78148
Незнайка
2003-07-09 13:24
2003.07.24
Windows Server 2003 и Windows XP


14-78111
nick-from
2003-07-08 16:08
2003.07.24
чем лучше всего воспользоваться для преобразования


14-78075
Кен
2003-07-07 07:24
2003.07.24
А есть ли в Дельфи стэк ? По аналогии с тем, что использует проце


1-77939
SergeyN
2003-07-09 18:39
2003.07.24
EOleSysError




   Наверх