Model Articulations Best Practices | OGC

379 © 2015 Open Geospatial Consortium

6.12.2 Vendor Attributes

A vendor attribute is identified by its XML namespace. The Specification uses the CDB namespace; a vendor may use any other string to identify itself. The definition of vendor attributes must be stored in Vendor_Attributes.xml. It is understood that vendor attributes are not interpreted by any other client-devices other than those supported by the vendor. Reliance by a vendor on Vendor Attributes can reduce the interoperability of the CDB with other vendors.

6.12.3 Examples

To add the LPH attribute to a CDB Light node, use the following comment: CDB:Light Attribute name=LPH value=300 CDB:Light Assume a T2DModel contains the Los Angeles International Airport as one of its 2DModels; the zone associated with the airport could use the APID attribute in the following manner: CDB:Zone name=Los Angeles International Airport Attribute name=APID value=KLAX CDB:Zone A company named “Acme Inc.” uses the string “Acme” as the namespace qualifying its vendor- specific attributes. If the company wants to add the MyAttr attribute to a CDB Articulation, it could do so by using the following XML tags: CDB:Articulation name=Primary Gun 1 id=4416 Acme:Attribute name=MyAttr value=-1.23 CDB:Articulation To interpret the attribute, a client application searches the file Vendor_Attributes.xml for an attribute whose symbol is MyAttr . When found, the application knows how to parse and interpret the attribute’s value . Furthermore, if the client application recognizes the identification of the vendor Acme: , it knows what to do with MyAttr . 380 © 2015 Open Geospatial Consortium

6.13 Model Textures

To achieve a certain degree of realism, models require the use of textures. Furthermore, textures add details to a model without increasing its polygon count. This is excellent to reduce the complexity of the geometry but at the same time, it creates a load management issue for client devices that are interested in these textures. In the case of GTModels and MModels, textures are separate files that must be loaded after the model geometry files are read and loaded by client devices; in the case of GSModels and T2DModels, the textures can be loaded concurrently with the model geometry files. A client device discovers the existence of textures while loading the model. One of the goals of the CDB Specification is to allow client devices to implement efficient load management mechanisms. For this reason, the Specification decouples as much as possible the texture aspect of a model from its geometry aspect. This is done by storing all textures related to Models in separate directories. Recall that the texture filenames itself are constructed from the dataset number, the texture type selectors 1 and 2, and the texture LOD and these are then concatenated to a modeler-specific texture name. Section 6.13, Model Textures, provides a description and usage of all of the CDB texture types for Models. The values of component selectors 1 and 2 convey a semantic meaning to the texture time-of-year, paint scheme, night map, light map, normal map, etc and determine whether the texture is to be used as base texture or as a subordinate texture and whether the texture is switchable described in the next section.

6.13.1 Handling of Multi-textures

In OpenFlight, several types of textures can be applied in various combinations. Textures fall in two broad categories: Base and Subordinate.

6.13.1.1 Base Texture Layer Base textures

65 are set of mutually exclusive model textures that provide texture colorintensity modulation for the model. While a model can have many base textures, only one base texture can be referenced and applied to model geometry at a time. The CDB Specification supports the following type of Base Textures: 1 Year-Round Texture: A year-round texture used with GTModels, MModels, GSModels, T2DModels . In the case of MModels, base-textures are often replaced with an appropriate Paint Scheme texture Uniform, Camouflage or Airline. 2 Quarterly Textures: A set of 4 textures, each representative of a quarter within the calendar year used with GTModels, GSModels, T2DModels . The textures must be provided as a complete set, i.e., it is assumed that all 4 textures of the same kind i.e., all four textures have their component selector 1 set to 003 and 65 The CDB Specification uses the term “base texture” the same way as OpenFlight and Creator do.