Поиск
Показаны результаты для тегов 'TPlane'.
Найдено: 1 результат
-
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; И результат - задняя красная панелька не рендерится за большой передней: То же самое, но с TTextureMaterialSource'ами, привязанными в дизайн-тайме через визуальные компоненты (как должно быть): Как это исправить? TPlane'ов будет много, на каждую панельку кидать свой компонент материала - не вариант. Проект в аттаче TransparentPlane.zip