The Geometry Material component.
|IGeometryMaterial||Provides access to Material properties.|
|IPersist||Defines the single method GetClassID, which is designed to supply the CLSID of an object that can be stored persistently in the system. IPersist is the base interface for three other interfaces: IPersistStorage, IPersistStream, and IPersistFile.|
Once a GeometryMaterial is defined (thru IGeometryMaterial interface), it can be used as a property of TextureLineSymbol or TextureFillSymbol. Alternatively, it can be added to the GeometryMaterialList to be used by the Init method of GeneralMultipatchCreator to create a textured multipatch. Note that a valid GeometryMaterial does not require a texture image. It is the developer's responsibility to make sure that a valid texture image exists before the intended use.
Note on transparency issues:
We need to differentiate Transparency, Transparent Color, and Alpha Channel three different issues.
Transparency refers to a transparent value that is applied to all pixels of an image, ranging from 0% to 100% with 0% meaning opaque and 100% transparent. When you set a transparency value to an image (or a GeometryMaterial made from that image), the value is applied blankly to all its pixels (this is called 'blending' in computer graphics term).
Transparent color specifies one particular color, with a certain RGB value, to be set to 100% transparent (i.e. invisible). When you set a transparent color, the pixels with that color value becomes completely transparent.
The alpha channel is often the fourth channel in a four-band color image. A pixel's alpha value is used as a transparency measure only applicable to that pixel. So an image (or a GeometryMaterial made from that image) with an alpha channel may have various degrees of transparency among all its pixels. If an alpha channel is present with the original image, it will be utilized automatically when the GeometryMaterial is created from that image.