Click or drag to resize

Primitives

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.

Primitive Manager

Once created, primitives are added to the primitive manager before they are rendered. See the Primitive Manager topic has more information.

Available Primitives

Primitives are in the agi.foundation.graphics package. Insight3D provides the following primitives:

Topic

Description

Model Primitive

Support for the industry standard glTF 2.0 and COLLADA formats as well as AGI's MDL format.

Marker Batch Primitive

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.

Polyline Primitive

Renders lines on the ground or in space. Polylines are used to visualize many things including satellite orbits, country borders, and range rings.

Path Primitive

Similar to the polyline primitive; designed for efficient addition and removal of points to either end of the line.

Triangle Mesh Primitive

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.

Surface Mesh Primitive

A triangle mesh variant that supports textures and conforms to terrain on the globe.

Solid Primitive

Renders filled solids and their outlines. Solids include objects such as ellipsoids, boxes, and cylinders.

Point Batch Primitive

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.

Text Batch Primitive

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.

Composite Primitive

Groups primitives together to create hierarchies of primitives for layering, and aggregation/deaggregation.

Ordered Composite Primitive

A primitive composed of other primitives with a well defined render order, intended for overlapping primitives rendered on the globe's surface.

Updating Primitives

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.