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

Графика 3D FMX на C++


Pavel Vasilev

Вопрос

Для С++Builder в фирменной коробке RAD Studio поставляется не много 3D графический приложений и работают они не очень.  Да и на GetIt пока ничего толком нет для FMX типа GLScene VCL или Unity3D.  Японская графическая FMX библиотека Luxophia (https://gitverse.ru/glscene/Luxophia), без дополнительных компонентов, включает лишь пару приложений на С++, остальные – на Delphi.

Демосы на основе французских дополнительных к FMX компонентов (https://gitverse.ru/glscene/GBE_3D) тоже все на Delphi, но их достаточно просто можно портировать на С++. Вот пример проекта облаков с настройками движения их по небосводу, который я портировал на С++Builder - https://gitverse.ru/glscene/GBE_3D/content/master/demos/Clouds.  Там в репозитории ещё пара десятков проектов, включая поиск кратчайшего пути, и игр.  Как быстро и правильно делать портирование с Delphi на С++Builder расскажу в отдельном посте. Заинтересованные приглашаются подключиться к портированию остальных исходников демосов на С++.

Ссылка на комментарий

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

  • 0

В примере с компонентом TGBEGrass из модуля GBE.Grass весь код на С++  стал слегка длиннее (нет with)

В примере с компонентом TGBEGrass из модуля GBE.Grass весь код на С++  стал слегка длиннее (нет with)

//---------------------------------------------------------------------------
void __fastcall TFormGrass::FormCreate(TObject *Sender)
{
  int i;
  TGBEGrass *GBEGrass;
  Randomize();
  for (i = 0; i <= 500; i++)
  {
      GBEGrass = new TGBEGrass (this);
      GBEGrass->Position->X = random(40)-20;
      GBEGrass->Position->Z = random(40)-20;
      GBEGrass->RotationAngle->Y = random(360);
      if (i / 10 == 0)
        GBEGrass->MaterialSource = TextureMaterialSource2;
      else
      {
        if (i / 2 == 0)
          GBEGrass->MaterialSource = TextureMaterialSource;
        else
          GBEGrass->MaterialSource = TextureMaterialSource1;
      }
      GBEGrass->Width = 5;
      GBEGrass->Height = 5;
      GBEGrass->Depth = 0;
      GBEGrass->Parent = Dummy;
      GBEGrass->Temps = 0.1;
  }
}

Результат анимации цветов в траве:

Результат анимации цветов в траве:image.thumb.png.a5c796587e8e7e2f21934d6932ed72ab.png

Ссылка на комментарий

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

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

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

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

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

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

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

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

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...