Primitives form the building blocks of a 3D scene. Primitives are initialized with information, such as position and orientation, which can then change over time. Primitives take care of all the 3D rendering and optimizations, which allows developers to focus on their application code.
Once created, primitives are added to the primitive manager before they are rendered. See the Primitive Manager topic has more information.
Primitives are in the agi.foundation.graphics package. Insight3D provides the following primitives:
Support for the industry standard glTF 2.0 and COLLADA formats as well as AGI's MDL format.
A group of 2D images that always face the camera and remains a constant pixel size. Markers are commonly used to visualize a large number of objects moving in real-time.
Renders lines on the ground or in space. Polylines are used to visualize many things including satellite orbits, country borders, and range rings.
Similar to the polyline primitive; designed for efficient addition and removal of points to either end of the line.
The rendering workhorse for things such as states or countries on the globe, terrain and imagery extents, ground ellipses, and extrusions. It can also render arbitrary triangle meshes.
A triangle mesh variant that supports textures and conforms to terrain on the globe.
Renders filled solids and their outlines. Solids include objects such as ellipsoids, boxes, and cylinders.
A group of points with the same pixel size but potentially different colors. The Point Batch is commonly used to visualize waypoints or locations, such as cities when the camera is at a distance.
A group of strings rendered with the same font. Each string can have a different position, color, horizontal origin, vertical origin, pixel offset, and eye offset.
Groups primitives together to create hierarchies of primitives for layering, and aggregation/deaggregation.
A primitive composed of other primitives with a well defined render order, intended for overlapping primitives rendered on the globe's surface.
Use set and setPartial methods to dynamically update a primitive's positions or other per-position data such as colors. The Dynamic Updates topic contains more information on dynamically updating primitives.