OpenSimplex 노이즈
OpenSimplex noise![]() |
OpenSimplex 노이즈는 단순 노이즈를 둘러싼 특허 관련 문제를 극복하기 위해 개발된 n차원(최대 4D) 구배 노이즈 기능으로, 마찬가지로 Perlin 노이즈의 시각적으로 유의미한 방향 아티팩트를 피한다.
이 알고리즘은 심플렉스 노이즈와 수많은 유사점을 공유하지만, 두 가지 주요 차이점이 있다.
- 심플렉스 노이즈가 하이퍼큐빅 벌집으로부터 시작하여 격자 구조를 형성하기 위해 메인 대각선으로 스퀴싱하는 반면,[1] OpenSimplex 노이즈가 대신 스큐와 역스큐 인자를 교환하고 늘어난 하이퍼큐빅 벌집을 사용한다.늘어난 하이퍼큐빅 벌집합은 분할 후 점액형 벌집이 된다.[2]즉, 2D Simplex와 2D OpenSimplex는 모두 삼각 타일링의 서로 다른 방향을 사용하지만, 3D Simplex는 4각형 분산형 벌집을 사용하는 반면, 3D OpenSimplex는 4각형-옥타헤드 벌집을 사용한다.[2]
- OpenSimplex 노이즈가 simplex 노이즈보다 큰 커널 크기를 사용한다.결과는 각 평가에 추가 정점을 결정하고 반영해야 하기 때문에 성능 비용에서 보다 부드러운 외관이 된다.[2]
OpenSimplex에는 "SuperSimplex"(또는 OpenSimplex2S)라는 변종이 있어 시각적으로 더 부드럽다."OpenSimplex2F"는 원래의 SuperSimplex와 동일하다.
참고 항목
참조
외부 링크
- OpenSimplex 노이즈 소개 블로그 게시물
- 작성자의 현재 구현(OpenSimplex2)
- 안드로이드 라이브러리
- C 구현
- OpenCL에서의 GPU 구현
- C#에서 매우 최적화된 구현
- OpenSimplex 노이즈를 제공하는 러스트 프로그래밍 언어의 노이즈 라이브러리 – 하드 코드 그라데이션 초기 값이 아님