Перейти к содержанию
Fire Monkey от А до Я
  • 0

TPlane и Альфа-канал


HoShiMin

Вопрос

Delphi 10.1 Berlin Update 1
На форме два TPlane'a, один позади другого. На каждый накладываются текстурки из png с альфа-каналом (TTextureMaterialSource).

Если привязывать MaterialSource'ы в дизайн-тайме (кидать для каждого TPlane'a на форму свой TTextureMaterialSource),
альфа-канал обрабатывается корректно (в прозрачных участках видно, что находится "позади" TPlane'a).

Если создавать TTextureMaterialSource и привязывать в рантайме, то при при повороте TPlane'ов прозрачность исчезает, и всё, что позади переднего TPlane'а, перестаёт рендериться.
Привязываю так:

procedure TForm1.FormCreate(Sender: TObject);
var
  MS1, MS2: TTextureMaterialSource;
begin
  MS1 := TTextureMaterialSource.Create(Plane1);
  MS2 := TTextureMaterialSource.Create(Plane2);

  MS1.Parent := Form1;
  MS2.Parent := Form1;

  Plane1.MaterialSource := MS1;
  Plane2.MaterialSource := MS2;

  MS1.Texture.LoadFromFile('C:\Users\Администратор\Pictures\TestTransparentTexture.png');
  MS2.Texture.LoadFromFile('C:\Users\Администратор\Pictures\TestFilledTexture.png');
end;

И результат - задняя красная панелька не рендерится за большой передней:

07-10-2016 22-38-16.png

То же самое, но с TTextureMaterialSource'ами, привязанными в дизайн-тайме через визуальные компоненты (как должно быть):

07-10-2016 22-42-11.png

 

Как это исправить? TPlane'ов будет много, на каждую панельку кидать свой компонент материала - не вариант.

Проект в аттаче

TransparentPlane.zip

Изменено пользователем HoShiMin
Ссылка на комментарий

Рекомендуемые сообщения

Ответов пока нет

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...