Como faço para gerar normais de superfície?

Eu tenho alguns métodos de desenho de depuração no meu mecanismo que podem gerar geometria útil para depuração, como esferas e cubos. No momento, não gero normais para essas formas. Existe um método de propósito geral de gerar normais de face e normais de vértice para uma malha arbitrária? (Eu...