Eu já vi em vários lugares que fazer o ruído do Perlin funcionar perfeitamente exige que seja calculado duas vezes de maneiras ligeiramente diferentes e somando os dois resultados.
Este FAQ sobre matemática de ruído da Perlin fornece uma fórmula:
para fazer uma função de ruído fazer um loop na direção z . É também menciona que a extensão desta, para efectuar um ciclo em 2 dimensões levaria 4 avaliações de F e de laço em 3 dimensões levaria 8 avaliações da F .
Entendo que isso fornece uma junção perfeita entre blocos que não é apenas contínua, mas continuamente diferenciável, mas, intuitivamente, espero que seja esse o caso se a função de ruído for simplesmente avaliada uma vez com pontos de grade reduzidos no módulo do tamanho de bloco necessário. Se a função de ruído for baseada apenas nos pontos de grade adjacentes imediatamente (4 para ruído 2D, 8 para ruído 3D), certamente usando os pontos de grade mais à esquerda quando o ponto a ser calculado ultrapassar a borda direita do ladrilho mesma qualidade de ruído entre outros pontos da grade?
Desde que eu vi essa abordagem de cálculo múltiplo em vários lugares, presumo que ela deva ter alguma vantagem, mas estou lutando para ver a desvantagem de simplesmente agrupar os pontos da grade de volta ao início quando eles ficarem grandes demais. o que estou perdendo?