Geometry Shaders

We are right at the lower limit (24 FPS) for the display program running a 6-head gaming card on a monster machine with just the terrain, atmospheric effects, and two copies of the same platform model.

I had a sneaky suspicion that rendering each viewport in its entirety during the “Render” method would be slower than sending all 6 projection matrices to the HLSL shaders and letting them split the geometry across viewports.

I am happy to provide some numbers now after this evening’s spike!  I applied this change just to the terrain and turned off the model rendering: 137 FPS before, 154 FPS after (a 13% increase in performance).

So, yes… it is faster. There is one big drawback… the shader wants to know how many vertices to expect coming out of the GS (I usually just run 1 viewport on my development machine).

// Geometry Shaders
void GS(triangle VSSceneOutMain In[3], inout TriangleStream TriStream)
GSSceneOutMain output = (GSSceneOutMain)0.0;

So it isn’t really worth doing right now… the bigger fish to fry is obviously the models rendering speed!

Exterior Paint

I have put on maybe 4 or 5 gallons of white paint ranging from $15 to $60 per gallon on the exterior of the Dropship in the past 3 years but I have high hopes for this Sherwin Williams product that I used for my latest coat.


It is thick. It is tenacious. It applied very evenly and dried quickly. If it is as durable in the elements as it claims then they have a customer for the long haul here – I will use it in all my outside projects!

Unfortunately, it appears to be exclusively at Lowe’s so I can’t show you price information but I paid about $45.


More delays in getting the development machine up and running. The new card arrived yesterday but the DVI to VGA adapter I have won’t fit in the new DVI port! Turns out there are 4 different varieties!

single-dvi[1] dual-dvi[1]

What I had before was a Dual Link DVI-I which supported adapting to VGA since it was analog/digital… the Dual Link DVI-D is purely digital and therefore doesn’t support analog adaptation to VGA anymore! So now I am on the hunt for a super long Dual Link DVI-D cable.

From what I am reading, the difference between Single and Dual Link has nothing to do with splitting into two discrete monitor signals – it has more to do with resolutions above HD requiring Dual Link.

Development Machine Woes

A few weeks back I tried to open the Avionics code in VS 2015 but it won’t compile! So the only reason I am keeping a copy of VS 2013 installed is because of DirectX 10.


Earlier this week I did some research about the Windows SDK and DirectX 12 being available. I wanted to see how hard it would be to port the code over for the Avionics and Display programs but it turns out my desktop graphics adapter only supports up to DirectX 10 while the Dropship 6-head display card supports DirectX 11.


MSI GeForce GT 710 DirectX 12 GT 710 1GD3H LP 1GB 64-Bit DDR3 PCI Express 2.0 x 8 HDCP Ready Low Profile Video Card at Newegg

DirectX 12 will allow you to use the feature set for DirectX 11 but not DirectX 10 so I bought a new graphics card (due here today) before I can run the samples for DirectX 12.

We have a lot of new development in the works (mostly related to clouds and in-cloud effects) and there is no reason to write them for DirectX 10 if it is deprecated!

Meanwhile, the old HDD that houses the Avionics code for the development desktop crashed! So that set me back an hour or two trying to pull everything down from the cloud and tracking down uncommitted changes that I hadn’t pushed to the cloud. I guess when the graphics card arrives I will be pulling more than the old graphics card out!