Overview
Pascal3D is organized in several components that are provided with different packages.
Package | Unit | Description |
---|---|---|
pascal3d_math | p3d.math | Math unit that provides classes and functions for vectors, matrices and quaternions |
pascal3d_core | p3d.utils | Basic utils, list classes and file streaming for properties |
p3d.events | Application class, Creation of windows input handling and a logger | |
p3d.plot | Advanced plotting library that is easy to use | |
pascal3d_base | p3d.base | Enhancement of p3dplot and classes for meshs, cameras, lights, etc. |
pascal3d_ui | p3d.ui | Graphical user interface with basic classes for windows, buttons, etc. |
pascal3d_ide | p3d.ide | UI classes used by P3DScene editor that can also be used for in game debugging |
Core and base packages
The core package is pascal3d_core that provides the basic functionality as well as p3dplot. You may want to start here to get started with Pascal3D. The other packages offer extra functionality and are optional. The package pascal3d_base will supply the basic structures as that greatly simplify working with game data and loading them from files or saving them. Among these are meshes, materials, lights as well as a scene graph to display them.
UI packages
If you need a UI have a look at the package pascal3d_ui. It provides an advanced graphical user interface that is inspired by the Lazarus LCL. Different kind of components are at stake and if needed it is also possible to define your own by deriving from a the base class TP3DGraphicControl or extend any of the already defined components. Finally there is the pascal3d_ide package that is used by the P3DScene editor. This editor allows editing the game data such as scenes or materials in a comfortable WYSIWYG way. However the package can also useful for debugging your game data. All of the editors can be used inside your project an make it possible to debug and edit all of your game data at runtime. This can greatly reduce development time.