I'll admit it. I tend to overlook simple solutions the first few times I look at a problem. Take FOW.
I had gotten to know the FOW code in Gal Civ pretty well in trying to get rid of some of its more annoying bugs. In GalCiv1,since it was 2D, we had to draw it with tiles and sprites, which meant that we had to calculate edges for the FOW, so that we would use the right sprite, and have those nice curved edges. This took three steps: first the ship moved, and updated the FOW counters for the tiles that its sensor range touched. This step can be broken down into two sub-steps: filling in the fog for the area moved out of, and clearing the fog that the ship moves into. Then we had to calculate the edges. All of those tiles had to be marked as changed, as well as their surrounding tiles, so that the painting code could paint them. Then they were finally painted, after having done a bunch of calculations to figure out what was on-screen.
At first I was planning on doing it pretty much the same way in Gal Civ 2, except that I was going to use textures for the edges. But Joe pointed out that since I was just using colors anyway, I didn't need to use any textures. By changing the diffuse color for the verticies, it naturally calculates the edges between explored and unexplored areas. The edges are square, but it still looks pretty nice and it's a heck of a lot easier. If we decide that we need curves, I can probably do that by changing the number of triangles that I'm drawing per FOW tile.
Here's a screenshot: