Главная страница
    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.46 MB
Время: 0.011 c
1-77844
Cr@zy-EyE
2003-07-12 17:54
2003.07.24
Invalid Pointer Operation


6-78033
Elon
2003-05-18 20:03
2003.07.24
TimeOut в IndyHttp?


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


1-77925
Непомню
2003-07-10 14:37
2003.07.24
SynEdit и Delphi 7


1-77877
void1987
2003-07-14 00:51
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский