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.

Before reading about individual primitives, read the primitive manager overview:

Topic Description
Primitive Manager Once created, primitives are added to the primitive manager before they are rendered.

Primitives are in the AGI.STKGraphics namespace. STK Engine provides the following primitives:

Topic Description
Model Primitive Support for the industry standard COLLADA format and 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.

The following topic addresses dynamically updating primitives.

Topic Description
Dynamic Updates Use Set and SetPartial methods to dynamically update a primitive's positions or other per-position data such as colors.