Sorry if I wasn't clear enough. I get that you can't just draw a huge quad across the globe. From what I gathered, your algorithm for rendering the ocean basically splits it into teeny tiny pieces and shades it accordingly with the help of a shades array (the images are not accurate, just really crude representations):
(if that's not how it works, then you can ignore the rest of it.
)
So the shading is uniform across the map and easy to update. But if you need to make it smoother, you need to make every division smaller, incurring a performance problem:
So my thought was: most of the map is of the same shade (full lit or full dark):
So we take those constant shades, and split them into the biggest quads we can, kinda like you're already doing:
So we have the day/light effect, but the edges look ugly, obviously. But, we don't need to make the shading smoother across the whole map. We just need to smooth the edges. So we'd apply this separate, smaller, smoother in-between polygon shades just on the edges:
Then as time moved on, you could just move those tiny smooth-shaded polygons along as you change the shade on the bigger ones behind like you do now (or a mix, I'm not sure).
That way you could have smooth tiny polygons on the edges without impacting the whole map, because the map isn't this big long gradient. It's mostly the same two colors, with a small smoothing in-between them. Make sense?
If it doesn't then don't worry about, I don't really care too much about how nice or how efficient it is as long as it works.
This is just the idea I had when I first thought of lighting the globe and I'd like to know if it actually has some merit.