My old OpenGL 2.x sandbox projects for modeling and rendering planets, moons, atmosphere, and clouds. I've decided to release it to the public domain, so knock yourself out in any way you want to use it.
zlib and libpng - Naturally, this code is NOT mine (and of course my unlicense does NOT apply to it). I unpacked recent tar.gz files for these libraries and added their .c files to be compiled into EngineCore to make building easier on all the poor Windows developers out there (like me).
Bin - Contains SDL and GLEW dll's, shaders, and media files. For now all exe's MUST be launched from this folder. (In the Visual Studio solution, the working directory for all projects is set to "Bin".)
Include - Include files for SDL (1.2.15) and GLEW (so old that I'm worried about what might break if I update it).
Lib - Library files for SDL (1.2.15) and GLEW (so old that I'm worried about what might break if I update it).
Build - All files generated by the compiler go into this folder.
EngineCore - A shared static library used by all of the projects.
TestApp - The hello world of OpenGL programs, an unlit colored triangle. This one is actually a bit fancier, as it uses GL_EXT_framebuffer_object to render to an FP16 texture, and then runs a shader that applies an exposure function to resample it down to 8-bit color (i.e. simple HDR rendering).
GLCloud1 - A port of my first cloud implementation (lots of little cloud cells for detail, but without impostoring).
GLCloud2 - A port of an alternate volumetric cloud implementation (3D noise texture for detail).
GLCloud3 - Another volumetric rendering test. (Projected cubes based on projected tetrahedra.)
SpriteTest - A whole bunch of sprites rendered using alpha masking instead of alpha blending.
ScatterCPU - My CPU-based atmospheric scattering algorithm.
ScatterGPU - My GPU-based atmospheric scattering algorithm.
Planet_Quad - My latest (old) planet rendering algorithm. It uses a chunked quad-tree for dynamic LOD. It dynamically generates 2D ground textures and bump maps, and uses the shaders from ScatterGPU. Try pressing 'u' to stop updating the quad-tree and then fly around. This is very useful for seeing how the triangles are optimized for a specific viewpoint (it also stops the light source from moving.).
The camera controls are similar to the old Descent games, except for the fact that w/s/a/d accelerate the camera in a certain direction instead of simply moving it. Hold down the control key to accelerate more quickly (useful when moving around the planet), and expect to use the space bar a lot to stop. It's annoying when trying to hug the surface of the planet, but once you get the hang of it, you'll realize it offers pretty good control for maneuvering to specific viewpoints you need to look at.
<Escape> Exit
w Thrust forward
s Thrust reverse
a Thrust left
d Thrust right
q Rotate left
e Rotate right
<Ctrl> Boost thrusters 100x
<space> Full stop
<arrow keys> Turn camera
p Toggle polygon mode (fill/wireframe)
h Toggle HDR rendering
+/- Increase/decrease either the split factor or the exposure constant for HDR rendering