
by Hakujin
Here's an easy method to create clouds that are always on the horizon, regardless of camera location. It's a variation on the 'Simple Sky > Sky Color' function graph first seen in Eric DeGiuli's planet, Arak. This technique paints clouds onto the Star Backdrop, which means that any Moons will appear in front of this type of cloud. The same technique can be used to drive a Cloud Layer's Density parameter for horizon clouds that will appear in front of Moons.

The MojoGraph uses a 'Camera Location' node which has been named 'clouds_CameraLocation' in the graph above. This node returns the World Position of the current camera.
The output of the Camera Location node is also subtracted (clouds_Subtract) from a World Position leaf node (clouds_WorldPosition). This results in a vector that points from the center of the planet to a point directly opposite the current camera location.
Both the Camera Location and the Subtract outputs are input to separate 'Set Vector Length' nodes (clouds_wP_SetVecLength and clouds_camLoc_SetVecLength), with the Length parameter values set to '1' ('unit length'). Setting a vector's length to 1 is also known as 'normalizing' a vector.
The outputs from the two Set Vector Length nodes are connected to the two input parameters of a 'Dot Product' math node (clouds_DotProduct). The Dot Product math node compares the two input vectors and outputs a value within a range of '-1 - +1'.
The Dot Product node is comparing two vectors:
Because the two compared vectors are always directly opposed, the Dot Product is always outputting its full value range, '-1 - +1'. We can use that output range to control a wide variety of functions.
In this case, the output from the Dot Product node serves as the input to a Texture Color Control node (clouds_TCC). The output from the TCC node determines the sky color.
An input value of '+1' indicates a point of sky directly above the current camera location and an input value of '-1' indicates a point of sky on the opposite side of the planet. Therefore, an input value of '0' indicates the horizon.
These values are mapped to a color gradient via the TCC Input Curve.

Here are the two gradients that are output in the example renders:

Using the upper gradient example, a white band is created just above the horizon:

Another look at the FG graphic (above) shows the added variation—domain distortion added between the World Position node and the Subtract node. Since the sky is very far away, the various parameters of the Mono Fractal should be rather large:

I used a negative value in the Monofractal's Result Scale parameter simply because I wanted the clouds to look a certain way - you can use a positive value if you prefer.
The resulting render:

By using the second gradient setting (above) we can extend the clouds to below the horizon:

You could also use this FG to drive the density parameter of a cloud layer, make stars that begin some distance above the horizon, etc. Combining it with a Satellite Time > Time of Day node could create some interesting effects.
hakujin