Book Image

Expert Delphi

By : Paweł Głowacki
Book Image

Expert Delphi

By: Paweł Głowacki

Overview of this book

Delphi is the most powerful Object Pascal IDE and component library for cross-platform native app development. It enables building natively compiled, blazingly fast apps for all major platforms including Android, iOS, Windows, Mac, and Linux. If you want to build server-side applications, create web services, and have clear GUIs for your project, then this book is for you. The book begins with a basic primer on Delphi helping you get accustomed to the IDE and the Object Pascal language and will then quickly move on to advanced-level concepts. Through this book, we’ll help you understand the architecture of applications and will teach you the important concepts of the FireMonkey library, show you how to build server-side services, and enable you to interact with the Internet of Things. Towards the end, you will learn to integrate your app with various web services and deploy them. By the end of the book, you will be able to build powerful, cross-platform, native apps for iOS and Android with a single code base.
Table of Contents (14 chapters)

Starfield simulation

In this section, we will be looking into building efficient 3D visualizations that use multiple geometries. We will create a starfield simulation using TSphere and TObjectProxy components for sharing mesh data.

If we look into the source code of TSphere, TCone, TCylinder and other components in the FMX.Objects3D unit, we will see that their vertices and indices are hardcoded. If we want to build a 3D scene with many different objects, every object will occupy quite a lot of space in memory.

FireMonkey comes with a special TProxyObject 3D object. It does not hold its geometry, but instead has the SourceObject property that can be used to connect to any other 3D object which is used for rendering. In this way, we have just one copy of geometry data in memory and multiple objects rendered.

To illustrate this concept, let's build a starfield simulation with...