michael davies
Charter Member 2012
Micheal, I agree about this being intriguing!
I read about that shader thing on Adrian Wood's (?) Blog, on the official FSX website...
"Addtionally, as often as possible, use the textures to change the shader values as opposed to using the shader constants themselves. If you control reflection in the diffuse alpha and specular in the specular color and specular alpha, then you should be able to set the reflection and specular power term constants at max and use the texture values to adjust accordingly. You should be able to get rubber, metal, plastic and other surfaces in a single draw call just by adjusting the various portions of the textures. The only thing you should need new material constants for is something like glass, chrome or an object that is transparent or glows.
Also, make sure that all of the material textures are grouped. Put all the chrome on one sheet, because then you can have a single chrome material and a single chrome draw call. Do the same with glass, metal, etc. If you have 11 1024x1024 textures, and each of them has a chrome section, then you are forcing 11 new draw calls when you could have one."
I put off trying to figure this specular thing out for a long time because it seemed very convoluted to me, but having messed with it for awhile now it is starting to click. I have done a whole lot of 'trial & error' :costumes:
Ok, yes I follow that, he's right and I'm right LOL, I'm talking at cross purposes here so I'll try and explain what he really means, well what i think he really means.
For this example lets take a gloss painted fuselage, on it are a couple of panels that are matt for lets say anti glare shield and may be an unpainted aerial / antenna/ sensor panel.
Ok if we just use one material that covers the whole fuselage with one texture then that will be one draw call, however using material specularity we can only set one value, do we set it to the skin gloss or the panel matt ?, lets say we set it to skin gloss. How are we now going to make those panels matt ?, traditionally we would have to cut those areas out as polys and either carve them off as separate polys, or apply a new material to them.
Either way your fuselage would now need two materials added, one for the skin gloss and one for the matt areas, that would be two draw calls.
Ok by using map specular we can retain that complete fuselage, one fuselage and one texture and only one draw call, then we can use a texture layer to alter the specularity to give us both gloss and matt on one texture, on one material and on one part.
If you are going to apply many differing levels of specularity to small parts hither and thither then specular maps are the only effective solution, however if your only going to apply one level of specularity to one very large piece, say a wing or fin then material specularity is equally effective.
Few of us actually cram as much texture onto as few maps as ACEs, most of us have far more maps and usually dedicated to components, ie Landing gear will be on one, wheels on another, VC bits and bobs spread over two or three, already were loosing draw calls by having more and more maps and breaking the model down into smaller and smaller chunks, if you do that and plan carefully then it is possible to have some chunks all use the same material attributes and not worry about draw calls or specular maps, I'm sure simply adding a specular map will raise draws calls in its own right, it is an extra layer the sim has to render so will have an impact. Materials will not, you have to have a material anyway, specular or not should not increase draw calls in its own right, its just the number of maps and the number of differing materials will have an effect, I think ?.
Make anymore sense LOL.
Best
Michael