Why do we want to stay within shader model 2.0? Is it so that it will run on older hardware?
Orbiter is being used with a pretty old hardware. I would estimate that 25% are running with model 2.0 or less. Also, an other reason to keep the instruction count low is that Orbiter is also used with laptops those may have a higher shader model but not enough kick to run a complex shaders. An other issues that should be kept in mind are a memory and the memory bandwidth. Sampling multible textures consumes memory bandwidth.
We can have a different shaders for 2.0 and 3.0 but a meshes must render properly with both. The question is what is worth of those 64 instructions ?
We could try to design the shaders so that meshes could be rendered with a proper reflections with just one additional control texture. The shader model 3.0 could provide a support for a second control texture. Two "must have" control textures are too much. If the reflections would be controlled with one channel then we wouldn't need intensity computations from rgb.
What sort of situation would need a different color for specular reflection and reflected image ?
Is it possible to define the camera locations separately for different vessels?
Yes, either in vessel local coordinates or centered in a specific mesh groups in which case they could move with animations.
If so, then could we declare that attachments only on certain docking ports or attach points be clipped?
If a vessels have a fixed number of attachment and docking "slots" then we could have a list of the "slots" those need to be omitted. Also a camera could have a configurable near clip-plane distance. Starting to disable meshes or specific mesh groups would probably get too complicated.
---------- Post added at 23:33 ---------- Previous post was at 23:30 ----------
Hey Jarmonik,I found a bug in D3d9R9,the orbiter menu only partially shows,until you push all the tabs,and sometimes you have to move the mouse arrow around in the left corner where the menu always appears at to get it to show.BTW the reflections look terrific.Thanks for your hard work.
There are no changes made to anything that could cause it. Could it be a temporary driver issue of some kind. Can anyone else reproduce ?
---------- Post added at 23:42 ---------- Previous post was at 23:33 ----------
I've just met a bug, with AMSO. If I apply reflections on the CSM with the LEM docked and then undock the LEM, the reflections are gone and I have to reapply them manually.
Will be fixed in next release.
---------- Post added at 23:44 ---------- Previous post was at 23:42 ----------
I had to disable a skin specific configuration because there are no reliable data about the skin and textures are dynamically changed during runtime.
We could try create a skin specific configuration by using a skin specific file name like:
classname_skinname.cfg
But how do we find out the name of the skin ?