A computer graphics image rendering system comprising a processor and a memory, wherein the memory further comprises executable code for real-time computing of indirect illumination in a computer graphics image of a scene, said computing means for real-time computing of indirect illumination comprising:
- means for defining in said scene a plurality of locations, attributing orientation and color to surface elements at said locations and defining a plurality of primary light sources;
- means for collecting, from a primary light source's point of view, depth information, orientation information and color information for said surface elements to thereby define a plurality of secondary light sources;
- means for defining a light propagation volume as a three-dimensional grid consisting of a plurality of grid cells;
- means for allocating said plurality of secondary light sources to grid cells of said light propagation volume, wherein said allocating comprises projecting said plurality of secondary light sources onto the grid cells of said light propagation volume;
- means for accumulating directional, colored irradiance contributions of all secondary light sources in a respective grid cell and repeating said step of accumulating directional, colored irradiance contributions of all secondary light sources for all grid cells of said light propagation volume to thereby obtain an initial indirect light intensity distribution;
- means for iteratively computing the propagation of light in said light propagation volume starting with said initial indirect light intensity for a predetermined number of times to thereby obtain a final indirect light intensity distribution;
- and
- means for rendering the scene illuminated by said final indirect light intensity distribution during a usual scene rendering process from a camera's point of view;
- wherein, for each step of iteratively computing the propagation of light in said light propagation volume, the light intensity distribution from a previous iteration step is taken as an input light intensity distribution for a subsequent iteration step.