Skip to content

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.