A good way to set advanced material properties in the D3D9 client (for textured surfaces) is to use advanced texture maps. It allows you to set the material properties on a per-pixel basis using textures instead of globally for an entire material on a mesh if you use the D2D9 debug window. You can always set some parameters globally using the D3D9 debug window, and then add texture maps just for the properties you need to control directly.So - bear with me - the only way to set "advanced" material properties for such as reflections is through the D3D9 Debug client material controls (that allow to save material properties), right ? And hand-editing the mesh file, of course...
Here's what I mean:
1. Diffuse texture. Let's imagine we create a vessel that uses a texture called Atlantis.dds. This texture controls the diffuse color, and is the only type of texture map that the basic Orbiter D3D7 renderer uses.
2. Reflection map. This would be named Atlantis_refl.dds (each different texture map uses the original filename and adds its own suffix). This is an optional texture that controls the intensity and color of the environmental reflections. Darker values mean less reflection, brighter values mean more reflection. Colored textures lead to colored reflections.
3. Roughness map. This would be named Atlantis_rghn.dds. Roughness is a bit of a misnomer- it is actually a smoothness map. Brighter monochrome values lead to a more mirror-like finish in the environmental reflections, while darker values lead to a more frosted mirror or metal finish.
4. Specular map. This would be named Atlantis_spec.dds. This is where things get weird. This is kind of a legacy map that is optional, useful only if you want direct control over the color and brightness of the specular reflections (rgb channel) and the power, or spread, of the reflections (alpha channel). The HST in this addon benefits greatly from the added control of the specular map: https://www.orbithangar.com/showAddon.php?id=74ab1810-f2bc-428d-aa06-a283a595894f
For translucent objects like parachutes or ISS solar panels, there are two more texture maps that you can play with:
5. Translucency map. This file would end in "_transl.dds". This behaves like a diffuse map that is illuminated from the inside. This allows translucent objects to allow light to pass through in a diffuse fashion.
6. Transmittance map. This file would end in "_transm.dds". This controls how much sunlight is allowed to shine through the material, creating a "hot spot" of sun glare directly in line with the sun. The rgb channels control the intensity and color of the sunlight that makes it through. The alpha channel controls the size of the sun's hotspot.
You can see an example of the _transl and _transm maps working in the ISS solar arrays in the D3D9 client. You can also see the textures at work in the DM-2 Crew Dragon parachutes: https://www.orbithangar.com/showAddon.php?id=06e64e6a-53e0-45ba-8aa4-2adf6a7fa792
When texturing an addon, I try to do things in this order:
1. Mesh file material definitions. This helps make sure that the mesh doesn't look bad in D3D7.
2. Advanced texture maps. If I can get the mesh in the D3D9 client to look right at this point, then I stop.
3. D3D9 debug window. Sometimes I can only get the desired effect on a material if I tweak some parameters in the debug window. But then it makes installation of the addon a bit more complicated because the D3D9 material definitions file needs to be installed alongside the addon.