1. A method of generating shadows in a computer graphics image, the method comprising: receiving a position corresponding to a surface of an object in a three-dimensional scene, the surface position visible from a virtual camera viewpoint; receiving a light fragment representing a portion of the scene from a point of view of a light source; defining, using a processor operatively connected to a memory, a frustum having an apex located at the surface position and a base defined by a size and a position of the light source; determining whether the light fragment is within the frustum; and altering a shading value of the surface position based on the determination of the light fragment being within the frustum.