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

За последние дни мне пришло сразу несколько писем с вопросами относительно использования 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.

Ответить на admin Отмена ответа

Ваш 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
Яндекс.Метрика