This image is the first of many challenges I've given myself, with a goal of improving one of my skills. For this one the goal was to work on learning more about shaders – the instructions the computer uses to determine how light interacts with the surface of the objects. Most people who work in 3D modeling use photo textures. In other words, they take a picture of the surface of an object (like an apple) in the real world, then wrap that picture around the model of the apple in the virtual world. Unfortunately, this process tends to minimize the uniqueness of a given object unless you're willing to procure a new photo texture for each and every apple. Depending on who is taking the pictures, this can be quite expensive as well. The alternative is procedural shading. Instead of copying the appearance of the real world object (through a photograph), procedural shading attempts to reproduce the appearance of the object indirectly by simulating or emulating the way the object interacts with the lights of the environment. This allows for an infinite variety of potential apples from one shader file; however, actually making it work as intended is harder than it might appear. All of the objects here possess procedural shaders; most of these I created by hand specifically for this image.