Блог Александра Божко
Архивы
Рубрики
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

За последние дни мне пришло сразу несколько писем с вопросами относительно использования FireMonkey 3D. Прошу меня простить, если не сразу отвечаю на них, но ответы часто требуют некоторой подготовки. К тому же, не на все ваши вопросы можно ответить в двух словах. Естественно, что отвечать я планирую в данном блоге.

Данный пост родился в процессе подготовки одного из таких “ответов”. Описанный ниже прием я решил вынести в отдельный пост исключительно ради более удобной структуризации материала.

Как импортировать COLLADA (.dae) модель в FireMonkey программно (в Run Time).

Изначально, в секции uses необходимо подгрузить два модуля FMX.DAE.Importer и FMX.Import.

Приведенный ниже код демонстрирует как решить поставленную задачу.

var
MI: TDAEModelImporter;
ImSe: TModelImportServices;

begin
 MI:=TDAEModelImporter.Create;
 ImSe:=  TModelImportServices.Create;
 ImSe.RegisterImporter(MI);

 Model3D1.LoadFromFile('H:\ScreenShorts\SU_Model\cube.dae');

...
end;

Прежде чем загружать файл в компонент TModel3D, мы должны зарегистрировать т.н. импортер. Иначе формат файла попросту не будет распознан. В режиме проектирования, как вы знаете, ничего подобного делать не нужно. Достаточно просто задать свойство MeshCollection с помощью встроенного диалога.

О том, какие нюансы существуют при импорте моделей в FireMonkey - в следующем посте.

А пока напоминаю:

  1. До окончания конкурса осталось менее недели!
  2. Воспользоваться специальными предложениями Embarcadero вы можете только до 29 июня.

Другие статьи серии:

FireMonkey. Tips & Tricks #0
FireMonkey. Tips & Tricks #1
FireMonkey. Tips & Tricks #2 (Upd2)
FireMonkey. Tips & Tricks #4


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

5 комментариев: FireMonkey. Tips & Tricks #3

  • Александр! Как всегда в восторге от твоей способности докопаться до истины и поведать о ней широким массам IT-трудящихся!

    С уваженнием,
    Всеволод

  • Интересный нюанс.
    Как раз разбираюсь с моделями для реализации 3D интерфейса офисной программы.

    П.С. У меня есть вопрос для твоей коллекции: “Как узнать какая графическая библиотека задействована при отображении TViewPort3D?”.
    Просто иногда тормозит отрисовка и возникает чувство, что я что-то дописать забыл, чтоб был задействован именно GPU.

    • Насколько я понимаю, FireMonkey сама решает, когда ей использовать GPU.
      На собственной практике – тормоза часто возникают при наличии проблем с драйверами или с системой вообще. Но при этом тормозят и другие (не FireMonkey) приложения. В частности, показателем проблем с графикой могут быть майкрософтовсие шахматы из комплекта W7.

      • Посмотрев один из вебинаров Всеволода, выяснил, что при использовании 3D компонентов на Firemonkey HD Form расчеты выполняет GPU, но при отрисовке формы задействуется CPU. В моём случае, именно из-за этого и были тормоза. Когда все приложение переписал на Firemonkey 3D Form, тормоза пропали, так как при отрисовке задействуется только GPU.

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Продукты DevArt
Купить онлайн:



Читай русскоязычные Delphi блоги
Каталог блогов Blogdir.ru
Яндекс.Метрика