Try to get reflection working before adding the other code modifications. That way,
if errors arise, you'll know they're from the reflection code rather than the linked
list/file operations.
Here's another sample image, but with two reflective objects.
For the code enhancements, start with reading the file. Once you get that done,
then you can perform the dynamic memory allocation and linked lists.
Here's an example of a red/blue stereo image. You'll need special glasses to get
the full 3D effect.