Firemonkey - използване на HD или 3D?

Просто си поиграх малко с FireMonkey.

Ако създам HD приложение, тогава мога да добавя бутони и т.н. както обикновено.

Ако създам 3D приложение, когато добавя бутони/бележки към формуляра, те не се показват.

Това е XE2, работещ под Windows 7 под VMWare Fusion (с активирана 3D графика).

Има ли причина дадено приложение да използва HD форма, ако не е за графики/игри и е просто „бизнес“ приложение с бутони/редактиране/бележки?

Каква е разликата между тях и защо има значение? Четенето на Delphi XE2: Защо приложенията на FireMonkey са HD? не помогна .


person Wizzard    schedule 24.09.2011    source източник
comment
If I create a 3D application, when I add buttons/memo to the form they don't show up. Бих искал да знам и това.   -  person Johan    schedule 24.09.2011
comment
3D сцената се нуждае от източник на светлина, в противен случай нищо не се вижда.   -  person Ondrej Kelle    schedule 24.09.2011
comment
@Johan (и @Wizzard), Използвайте TLayer3D, за да добавите 2D съдържание към 3D приложение. Използвайте TViewport3D, за да добавите 3D съдържание към 2D приложение. Вижте docwiki.embarcadero.com/RADStudio/en/FireMonkey_3D (секция за смесване на 2D и 3D )   -  person Mike Sutton    schedule 24.09.2011
comment
Можете да разгледате демонстрациите от тази папка.. .много интересни демонстрации/скриптове!   -  person Whiler    schedule 24.09.2011


Отговори (3)


HD (или IMO по-добре: 2D) и 3D приложенията служат за различни цели.

HD приложенията са повече или по-малко като GUI приложенията, които познаваме, с изключение на това, че графиките са много гъвкави и могат да бъдат анимирани и т.н. Това може да се използва за "бизнес приложения", както и за повечето други цели се използва GUI.

3D приложенията показват 2D изглед на 3D свят. Те се занимават с кубове, сфери, мрежи и т.н. и служат само за 3D графична цел. Можете да правите хубави анимации или интерактивни приложения с него, но не непременно „бизнес приложения“, както ги познаваме.

Човек може да използва 2D (HD) елементи в 3D, но отнема малко повече работа. Не съм изследвал много време за това, но те трябва да бъдат поставени върху нещо плоско в 3D пространство, AFAIK. Формулярът вече не се счита за плоско пространство, така че не можете просто да поставите бутон върху формуляр. Поставяте форми в пространството, трябва да ги осветите и т.н.

Както Робърт Лав каза в SO отговора, към който сте се свързали, FireMonkey може да направи повече от просто хубави HD традиционни потребителски интерфейси. Той използва възможностите на GPU по повече от един начин.

person Rudy Velthuis    schedule 24.09.2011

AFAIK, HD приложенията могат да управляват 3D обекти, анимации, ... Ако планирате да създадете "бизнес" приложение, трябва да изберете HD.

3D приложенията са по-оптимизирани за управление на 3D. Полезно, ако планирате просто да създавате 3D неща.


Източник XE2 World Tour

person Whiler    schedule 24.09.2011
comment
В Кьолн видях демонстрация от DavidI (написана от Anders Ohlsson, IIRC), където имаше 2D обекти, сред които решетка, отстрани на въртящ се 3D куб. Дейвид, с известно усилие можех дори да редактирам записите в мрежата, докато кубът се въртеше. Напълно безполезна, но забавна гледка и демонстрация на силата на FireMonkey. ‹g› - person Rudy Velthuis; 24.09.2011
comment
@Rudy, да не би да имаш видео-връзка към това демо, нали? - person Johan; 24.09.2011
comment
@Johan: Съжалявам, не. Бях там, но не знам дали някой го е снимал. Беше доста смешно да видя, че DavdiI редактира запис в мрежата на въртящ се куб, който също показва някои от фактите за рибата. Безполезен, но много интересен. - person Rudy Velthuis; 25.09.2011

Можете да използвате HD приложение, което можете да използвате бутон, и много обекти за вашето приложение. Ако искате да добавите 3D обект само за анимация, опитайте да използвате TViewport3D, който може да се използва като контейнер за 3D обект.

person Tomi Sayugo    schedule 17.12.2011