…these were made by a program I've been writing in C++ and OpenGL. … If you've never done ANYTHING with 3D, I'd recommend starting with a basic 3D modeling program like blender, maya, or 3D max. Get familiar with digital modeling in general. You eventually realize there are really 3 main components to 3D Graphics: geometry, lights, and to a lesser extent, the camera. Try to understand why each of these are so important, and more importantly, how you can mess with each to accomplish a certain look or quality.
Once you get more comfortable with the concept of digital modeling (or if you already are), you get into more spooky territory. If you only care about making something interesting, you can get away with a pre-made game engine like unity or unreal. If you want to get your hands dirty and go the low-end, rewarding-but-frustrating route, you'll look at something like OpenGL or DirectX. Working with OpenGL is essentially programming on the CPU and the GPU, so it can be a real pain in the ass. For someone like me that started using it without a lot of programming experience to begin with, the learning curve can be brutal. Not sure I'd recommend it for someone that just wants to mess around with graphics.
All of my code is on github, but since this is a one-man project, it's a hot mess, haha. If you really want to see it I'll pm you the link, but it comes with the disclaimer that the code base is really all over the place and not very tidy. That being said, I don't mind explaining any part of it.