Shadow mapping is a commonly used technique for generating hard shadows in real time. However, existing shadow map based algorithms cannot render full soft shadows penumbras onto arbitrary dynamic geometry by utilizing only consumer level programmable graphics hardware. In this paper we introduce a new fully hardware accelerated penumbra map algorithm which stores additional penumbra information into separate penumbra maps. The method is capable of generating approximate soft shadows on both sides of the hard shadow boundaries at real time frame rates. The shadow generation requires neither graphics hardware read backs nor processing with the CPU while it is able to handle arbitrary shadow receivers and dynamic environments. The algorithm also has a straightforward implementation on programmable graphics hardware. Keywords Shadow algorithms, soft shadows, graphics hardware, shadow map