braincell, I didn't mean to say anything against you. I have spent some days a few weeks ago and my attemp failed, so I stopped.
Blitznerd - every pixel that will be rendered will count the number of hits on the outside surface of the volume and on the inside surface of the volume. if the numbers are the same then the ray went trough the volume. If the number differs, the ray hit the ground etc before it left the volume, therefor the pixel is in the shadow.
It would be way to slow to do this in Blitz code, it's done with a number of special renderworld commands on the direc3d level. Have a look at Braincells Demo Source.
Blitznerd - every pixel that will be rendered will count the number of hits on the outside surface of the volume and on the inside surface of the volume. if the numbers are the same then the ray went trough the volume. If the number differs, the ray hit the ground etc before it left the volume, therefor the pixel is in the shadow.
It would be way to slow to do this in Blitz code, it's done with a number of special renderworld commands on the direc3d level. Have a look at Braincells Demo Source.