Is this something like you were talking about? It uses two masks.
www.triadis.net/swift3d/et_new.html

Triadis