O que é Flipping?
Nos últimos anos a computação gráfica se desenvolveu a passos de gigante. Poucos anos atrás os gráficos dos jogos eram bastante “retos”, sequer passavam a impressão de realidade, já hoje em dia é possível ver animações em computação gráfica que caso você não esteja prestando atenção, pode acabar achando que é uma cena real passando na tela.
Diversas técnicas (e tecnologias) contribuíram para a melhoria dos gráficos dos jogos atuais, e duas delas, usadas em conjunto, são a de Flipping (troca) de superfícies e a Triangulação de Delaunay.
Caso você já tenha estudado geometria espacial (aquela de três dimensões) no colégio, talvez tenha reparado que quanto maior o número de lados de uma figura, mais “redonda” ela se torna.
Os jogos atuais usam gráficos triangulares e por esta razão é possível utilizar a triangulação de Delaunay juntamente com a técnica de Flipping de superfícies para arredondar os gráficos.
As técnicas
Veja as seguintes figuras:
Note que mesmo as duas tendo o mesmo tamanho por fora, os triângulos dentro delas têm tamanhos diferentes, no entanto, na figura 2 há um triângulo menor.
Em geral, quanto menores os triângulos e quanto mais deles houver, melhores serão os gráficos do jogo, pois eles ficarão mais “redondos”. E é a triangulação de Delaunay a responsável por obter esses triângulos menores, assim como também é a responsável por aumentar o número deles.
Para aumentar o número de triângulos, bota-se um ponto fora da figura, na sequência, liga-se esse ponto às extremidades da figura e aplica-se a triangulação de Delaunay, formando algo parecido com a figura 3:
Quando se pega a figura 1 e aplica-se a triangulação de Delaunay, obtém-se como resultado a figura 2. Então, usa-se a técnica de Flipping de superfícies para substituir a figura 1 pela figura 2.
Então, aplica-se novamente a triangulação de Delaunay na figura 2 para se obter uma nova figura com triângulos ainda menores. Em seguida, é feita o Flipping de superfícies outra vez, e assim sucessivamente, até que não haja mais como obter triângulos menores.