Model Light Points Best Practices | OGC

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. 381 © 2015 Open Geospatial Consortium are all present in the model’s texture directory. The presence of a quarterly texture reference in model geometry tells the client-device that a quarterly texture set is available. This allows the client-device to select any one of the available 4 textures at rendering time. Only one of the textures need be referenced by the OpenFlight scenegraph geometry, preferably the third quarter texture. It is also assumed that all 4 textures share the same UV mapping. 3 Monthly Textures: A set of 12 textures, each representative of a month 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 the 12 textures are of the same kind i.e., all twelve textures have their component selector CS1 = 002 and are all present in the model’s texture directory. The presence of a monthly texture reference in model geometry tells the client-device that a montly texture set is available. This allows the client-device to select any one of the available 12 textures at rendering time. Only one of the textures need be referenced by the OpenFlight scenegraph geometry, preferably the June texture. It is also assumed that all 12 textures share the same UVmapping. 4 Uniform Paint Scheme Textures: Used on MModels with relatively uniform paint schemes should make use of this texture kind. Colors are listed in Appendix O. It is also assumed that all textures share the same UVmapping. 5 Camouflage Paint Scheme Textures: Used on MModels with camouflage paint schemes should make use of this texture kind. Camouflages are listed in Appendix O. It is also assumed that all textures share the same UVmapping. 6 Airline Paint Scheme Textures: Used on MModels that represent commercial aviation airliners should make use of this texture kind to implement the airlines paint scheme and logos. This base texture addresses the need for multiple skins painted on identical aircraft type. For instance, the B767-300ER is operated by more than 60 airlines throughout the world. Appendix O provides a complete list of Airliners. It is also assumed that all textures share the same UVmapping. 7 Shadow Map Textures: Used on MModels as pre-computed orthographic projections of the MModel. These textures are base textures used to accelerate the rendering of MModel shadows. Shadow map usage conventions are described in section 6.13.5.1, Model Shadow Textures. 8 Motion Blur: Used on MModels as pre-computed motion blurred textures of rotating parts e.g., rotor disks. These textures are base textures used to aid client-devices in eliminating temporal aliasing artifacts. Motion blur textures conventions are described in section 6.9.2.3, Temporal Anti-aliasing.

6.13.1.2 Subordinate Texture Layer Base textures can be supplemented with one or more

66 subordinate textures. Subordinate textures form a set of model textures that can be used to provide additional colorintensity modulation or illumination modulation detail to the Base texture. 66 OpenFlight natively permits up to seven subordinate textures for a total of eight textures including the base texture. 382 © 2015 Open Geospatial Consortium The CDB Specification supports the following types of subordinate textures: 1 Night Map: This subordinate texture is used to represent changes to models in their night configuration, typically as a result of lighting effects emanating from inside the model through windows. Night map textures conventions are described in greater detail in section 6.13.5.3, Model Night Maps. 2 Detail Texture MicroMacro: This subordinate texture is used to add details to a base texture that lacks the necessary resolution to provide the correct depth perception. Detail textures conventions are described in greater detail in section 6.13.5.6, Model Detail Texture Maps. 3 Contaminants: These textures are used to simulate thin layers of matter that accumulate on surface top. Contaminant textures conventions are described in greater detail in section 6.13.5.7, Model Contaminant and Skid Mark Textures. 4 Normal Map: Normal mapping is a technique used for faking the lighting of bumps and dents; when used in conjunction with a render’s light sources, it can add surface detail without using more polygons. This subordinate texture is a 3- component texture that encodes the normals at each texel. Tangent-space normal maps conventions are described in greater detail in section 6.13.5.5, Model Tangent-space Normal Maps. 5 Reflection Map: Conventions are described in detail in section 6.13.5.8, Model Cubic Reflection Maps. 6 Light Map: This subordinate texture is used to represent the effect of external light sources onto a model. Light map textures conventions are described in greater detail in section 6.13.5.4, Model Light Maps. 7 Gloss Map: A texture that describes whether a surface is matte or gloss; described in section 6.13.5.9, Model Gloss Maps. 8 Material Texture: To specify the composite materials at the level of a single texel; described in section 6.13.5.10, Model Material Textures. Client-devices are required to use the modeler supplied layer number to determine the order in which the subordinate textures are to be rendered. The base layer is always rendered first, followed by subordinate layer 1, 2, 3, etc. Gaps within the layer sequence are permitted. Note that layer numbers are not assigned nor reserved to specific subordinate textures. 6.13.1.3 Texture Mapping Conventions The following table provides the texture mapping for use with each kind of textures.