Modified to support projection mapping