Cone baixo polígono - sombreamento suave na ponta

Se você subdividir um cilindro em um prisma de 8 lados, calculando as normais do vértice com base em sua posição ("sombreamento suave"), ele ficará muito bom.

Se você subdividir um cone em uma pirâmide de oito lados, calculando as normais com base em sua posição, ficará preso na ponta do cone (tecnicamente o vértice do cone, mas vamos chamá-lo de ponta para evitar confusão com os vértices de malha) .

Para cada face triangular, você deseja combinar as normais ao longo das duas bordas. Mas como você pode especificar apenas um normal em cada vértice de um triângulo, você pode combinar uma borda ou outra, mas não ambas. Você pode comprometer-se escolhendo uma dica normal que seja a média das duas bordas, mas agora nenhuma de suas bordas parece boa. Aqui está um detalhe do que é a aparência da média normal para cada vértice da ponta.

Em um mundo perfeito, a GPU poderia rasterizar um verdadeiro quad, não apenas triângulos. Então poderíamos especificar cada face com um quadrante degenerado, permitindo-nos especificar uma normal diferente para as duas bordas adjacentes de cada triângulo. Mas tudo o que temos para trabalhar são triângulos ... Podemos cortar o cone em várias "pilhas", de modo que as descontinuidades das bordas só sejam visíveis na ponta do cone e não ao longo de toda a coisa, mas ainda haverá um gorjeta!

Alguém tem algum truque para cones low-poly com sombreamento suave?

questionAnswers(2)

yourAnswerToTheQuestion