When you’re making a computer game with interactive 3D graphics, you need to compute lighting if you want your game to look remotely realistic. The methods for calculating light on a surface can be either quite simple or very complex. Simple algorithms act as if light passes through all surfaces after illuminating them, while more complicated algorithms allow light to cast shadows. The ‘best’ form of commonly used lighting is raytracing, which, as the name implies, traces rays from a light source to their destintation. (Actually, raytracing algorithms start from a viewpoint and trace outwards, but that’s not really important.) Raytracing allows for the most realistic shadowing, but it’s the most computationally expensive.
The actual physics behind light aren’t all that complicated, as long as you’re only concerned with how bright objects look and you don’t care about what happens when light goes through tiny holes or passes through irregular media. (Answer: weird stuff.) Â The reason programmers put a lot of work into lighting algorithms is that computing the effects of light on a scene can take a lot of time. Real-time lighting algorithms generally rely on tricks that allow programmers to ‘get away’ with not actually computing everything properly.
In my Philosophy of Time course, we recently discussed relativity and its implications as to the meaning of time. While sitting in class yesterday, I remembered an idea that I first had while taking modern physics several years ago. All computer lighting algorithms of which I am aware treat the speed of light as infinite. It’s not a bad approximation because from the perspective of your typical human being, it might as well. Does playing an upperbound on the speed of light allow you to ‘get away’ with anything computationally?
I’m pretty sure the answer is yes. The speed of light is also theorized to be the speed at which forces are transmitted. In other words, if the sun were to ‘dissappear’ right now, we wouldn’t see the sun dissappear until about 8 minutes after it happened. The same is true of the sun’s gravitational pull – the earth would continue to move in a circular orbit until about 8 minutes after the sun explodes.
If you had a giant computer simulating the interaction between the earth and the sun, the interaction could be parellelized quite nicely, because any change at the sun won’t be able to immediately effect anything happening on the earth. If the force of gravity were transmitted instantaneously, however, as soon as the sun exploded you’d have to recalculate earth’s orbit.
I want to do more thinking on this subject, and lorenz contraction / expansion (the tendency of objects to change drastically in size as they approach the speed of light) and how it could possibly be used to speed up a computer simulation. If it turns out that lorenz contraction does allow you to compute things faster, it would be more evidence for me that the world is, in fact, a computer simulation.