Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Firemonkey - use HD or 3D?

Just been doing a bit of playing with FireMonkey.

If I create a HD application, then I can add buttons etc as normal.

If I create a 3D application, when I add buttons/memo to the form they don't show up.

This is XE2 running Windows 7 under VMWare Fusion (with 3d graphics enabled).

Is there any reason for an app to use an HD form if it's not for graphics/games and it's just a 'business' app with buttons/edits/memos?

What is the difference between them and why does it matter? Reading Delphi XE2: Why FireMonkey apps are HD? didn't help.

like image 623
Wizzard Avatar asked Sep 24 '11 10:09

Wizzard


3 Answers

HD (or IMO better: 2D) and 3D apps serve different purposes.

The HD apps are more or less like the GUI apps we know, except that the graphics are very flexible and can be animated, etc. That can be used for "business apps" as well as for most other purposes a GUI is used.

The 3D apps show a 2D view of a 3D world. They deal with cubes, spheres, meshes, etc. and merely serve a 3D graphical purpose. You can make nice animations or interactive apps with it, but not necessarily "business apps" as we know them.

One can use 2D (HD) items in 3D, but it takes a little more work. I haven't investigated much time into this, but they must be placed onto something flat in 3D space, AFAIK. The form is not considered as a flat space anymore, so you can't just put a button on a form. You put shapes in space, you must light them, etc.

As Robert Love said in the SO answer you linked to, FireMonkey can do more than just nice HD traditional user interfaces. It leverages the posiblities of the GPU in more than one way.

like image 138
Rudy Velthuis Avatar answered Oct 10 '22 21:10

Rudy Velthuis


AFAIK, HD applications can manage 3D objects, animations, ... If you plan to create a "business" application, you should choose HD.

3D appllications are more optimized to manage 3D. Useful if you plan to just create 3D stuff.


Source XE2 World Tour

like image 26
Whiler Avatar answered Oct 10 '22 20:10

Whiler


You can use HD Application that you can use Button, and many object for your application. If you want to add 3D object just for animation, try to use TViewport3D that can be use as container for 3D object.

like image 41
Tomi Sayugo Avatar answered Oct 10 '22 20:10

Tomi Sayugo