펄린 노이즈는 1983년 켄 펄린이 소개한 이후 컴퓨터 이미지 생성에 널리 사용되어 왔습니다. 지형을 절차적으로 생성하든, 변수에 의사난수 변화를 추가하든, 이미지 텍스처 생성을 지원하든, 이 노이즈 기술은 그 고유한 가치를 보여주었습니다. 그렇다면 펄린 노이즈란 정확히 무엇이고, 왜 그것은 컴퓨터로 생성된 이미지를 그렇게 사실적으로 만들까요?
펄린 노이즈를 사용하면 물체 표면, 불, 연기 또는 안개와 같은 컴퓨터로 생성된 시각적 요소가 자연에서 발견되는 무작위적인 질감의 모양을 보다 자연스럽게 시뮬레이션할 수 있습니다.
펄린 노이즈는 1980년대 초반 켄 펄린이 컴퓨터로 생성한 이미지의 기계적인 모습에 불만을 품은 데서 탄생했습니다. 그는 1985년 SIGGRAPH 논문 "이미지 합성기"에서 이 기술을 공식적으로 설명했습니다. 이 기술의 개발은 디즈니의 SF 애니메이션 영화 '트론'(1982)에 대한 그의 작업과 함께 이루어졌습니다.
페린은 1997년에 영화와 TV 특수 효과에 기여한 공로로 알고리즘을 개발하여 아카데미 기술공로상을 수상한 것으로 알려졌습니다. 이러한 업적 뒤에는 펄린 노이즈가 컴퓨터 그래픽 아티스트에게 영감을 주었는데, 이들은 이 기술을 사용하여 자연 현상의 복잡성을 더 잘 재현합니다.
펄린은 자신의 알고리즘에 대한 특허를 신청하지 않았지만 2001년에 3D 이상의 심플렉스 노이즈에 대한 특허를 받았는데, 이 기술 역시 노이즈 합성을 개선하기 위한 것입니다.
절차적 텍스처 원시로서, 펄린 노이즈는 시각 효과 아티스트에게 컴퓨터 그래픽의 사실감을 향상시키는 도구를 제공합니다. 이 기술을 사용하면 유사 난수 모양이 만들어지지만 모든 시각적 세부 사항은 일정한 크기로 유지되어 제어하기 쉽습니다.
컴퓨터 그래픽에서 펄린 노이즈는 텍스처를 합성하는 데 자주 사용되며, 특히 프레젠테이션과 같이 메모리가 매우 제한되어 있을 때 더욱 그렇습니다. Fractal Noise, Simplex Noise와 같은 후속 기술은 그래픽 처리 장치의 표준 구성 요소가 되었습니다.
펄린 노이즈는 비디오 게임에서 자연스럽게 절차적으로 생성된 지형을 제작하는 데 널리 사용됩니다.
Perlin 노이즈 구현은 일반적으로 세 단계로 구성됩니다. 임의의 그래디언트 벡터 그리드를 정의하고, 그래디언트 벡터와 오프셋 간의 내적을 계산하고, 이러한 값 사이를 보간합니다. 이러한 일련의 계산을 통해 펄린 노이즈는 여러 차원에서 자연스러운 효과를 만들어낼 수 있습니다.
먼저, 각 그리드 교차점이 고정된 랜덤 n차원 단위 길이 그래디언트 벡터를 갖는 n차원 그리드를 정의합니다. 1차원의 경우 이러한 기울기는 -1과 1 사이의 무작위 스칼라입니다.
후보 점의 값을 계산해야 할 때는 먼저 해당 점이 속한 고유한 그리드 셀을 찾은 다음, 셀의 2n개 모서리 점과 해당 그래디언트 벡터를 결정합니다. 각 모서리 점에 대해 오프셋 벡터가 계산되며, 이 벡터는 모서리 점에서 후보 점을 가리킵니다. 다음으로, 각 모서리 점에 대해 해당 기울기 벡터와 오프셋 벡터 간의 점곱을 계산합니다.
2차원 격자에서는 오프셋 벡터 4개와 점곱 4개를 계산해야 하지만, 3차원에서는 8개를 계산해야 합니다.
마지막 단계는 2n개의 점곱을 보간하는 것입니다. 이 단계에서 사용된 보간 함수는 2n개의 그리드 노드에서 1차 도함수(그리고 2차 도함수)가 0이어야 한다는 것을 요구합니다. 즉, 펄린 노이즈의 특징적인 모습은 모든 노드에서 0을 통과하는 특성에서 비롯된다는 것을 의미합니다.
Perlin 노이즈의 복잡성은 차원이 커짐에 따라 증가하지만, 연구가 심화됨에 따라 Simplex 노이즈와 OpenSimplex 노이즈와 같은 새로운 알고리즘이 끊임없이 등장하고 있습니다. 이러한 기술은 성능을 개선하고 그래픽의 자연스러움을 강화하도록 설계되었습니다. 미래의 그래픽 세대 기술에 대한 많은 탐구와 혁신이 아직도 진행 중입니다.
그렇다면 미래에는 점점 더 사실적인 컴퓨터 생성 이미지가 등장할 텐데, 펄린 노이즈는 이 분야에 어떤 영향을 미칠까요?