Archive for the 'Primitives' Category

New in AGI Components 2010 r4



We've just released AGI Components 2010 r4.  New Insight3D features include the cylinder triangulator, which computes cylinders for visualization with the solid primitive.

Download r4 from ADN.

New in AGI Components 2010 r1



The first AGI Components release for 2010 is now available on ADN.  This release includes the solid primitive:  a new primitive for visualizing solids such as ellipsoids and boxes, as shown below.

Ellipsoid

A new overview, available in our online help, explains how to use the solid primitive, including using visual cues such as the white silhouette edge and removal of back facing lines shown above.  The polyline and point batch primitive now have an optional outline with a unique size, color, and translucency.  This small feature adds a nice visual cue:

Polyline

Download AGI Components 2010 r1 from ADN and give these new features a try.

How to Orient a Model



In this entry, I'll explain how to orient a model primitive using its ReferenceFrame and Orientation properties.  We'll go through two examples.  The first one orients a launch pad model on the ground:

LaunchPadOrientation

The second example orients a satellite model in orbit:

SatelliteOrientations

More...

New in AGI Components 2009 r7: Primitives in any Reference Frame



I'm excited to announce that we just released 2009 r7, which includes the ability to define primitives in any reference frame.  Previously, primitives could only be defined in a central body's fixed or inertial frame.   Now, instead of converting from the reference frame of your data to the primitive's reference frame, you can just set the primitive's ReferenceFrame property to the same reference frame of your data.  Doing this is almost always more efficient and easier to code!  What's even better is if the reference frame varies with time, the primitive will move during animation automatically.

Facility

More...

Favorite Features: The Marker Batch Primitive



This is the first of a series of articles about our favorite features in Insight3D written by developers on the Insight3D team, the AGI Components team, and other AGI developers that we've deemed as world experts in Insight3D.

I like lots of Insight3D features, but I've decided to write about the marker batch primitive because 1) I developed it and am therefore biased, and 2) it does lots of fancy things under the hood for performance.

Marker Batch Basics

Loosely speaking, markers are 2D images that always face the viewer, like these arrows:

markerbatchbasics

Yes, I drew the arrow icon myself  in Visual Studio, and no, I've never thought of a career in art.  Markers are sometimes called Sprites or Billboards.  They have an incredible number of uses:  representing points of interest, visualizing a ton of realtime data, replacing 3D models to improve performance, and for rendering image-based effects such as clouds, smoke, fire, and vapor trails.  Of course, we are looking for an excuse to code up some of these effects, so please leave a comment if you are interested.

More...

Rendering Text Fast



Our new text rendering code is 5x faster (in a bad case) than our STK code - and the new code uses the same algorithm! How's that work? Well, we are using the same algorithm but the implementation is vastly different.  In this post, I'll describe the new implementation, which offloads work from the CPU to a vertex shader running on the GPU, enabling the use of static vertex buffer objects.

More...

Introducing Primitives



In Point Break, primitives form the building blocks of a 3D scene. Developers create primitives and initialize them with information, such as position and attitude. Primitives then take care of all the 3D rendering (drawing) and optimizations, allowing developers to focus on their application code.

An abridged set of primitives planned for Point Break include:

  • Models – Support for the industry standard COLLADA format and AGI’s MDL format.
  • Markers –2D images that always face the viewer and remain a constant pixel size. Markers are commonly used to visualize a large number of tracks moving in real-time.
  • Polylines – Used for rendering lines on the ground or in space. Polylines are used to visualize many things including country borders, drop lines, range rings, and access lines. Polyline variants can conform to terrain when drawn on the ground.
  • Triangle Meshes – The rendering workhorse for things such as area targets (e.g. states or countries), terrain and imagery extents, ground ellipses, and border walls. The surface mesh, a triangle mesh variant, can conform to terrain when drawn on the ground.

More...