구에서 절차 적 노이즈를 생성하려면 어떻게해야합니까?


15

구 표면에 절차 소음을 생성하고 싶습니다 (예 : 행성 또는 대리석 질감 볼을 절차 적으로 생성). 물론 표준 노이즈 알고리즘을 사용하여 구에 매핑 할 수는 있지만, 이것은 극 또는 다른 곳의 왜곡과 같이 구에 평면을 투영하는 모든 문제가 있습니다.

볼륨 노이즈를 생성하고 구체를 "잘라낼 수"있다고 가정하지만, 불필요하게 비효율적 인 것으로 보입니다. 노이즈에 그리드 기반 인공물이 있으면 구체에 균일하게 나타나지 않습니다. 또한, 적어도 단순 노이즈의 경우, 3D 노이즈로부터 2D 슬라이스를 절단하는 것은 일반적으로 2D 노이즈를 생성하는 것과는 다르게 보인다.

예를 들어 구형에서 노이즈를 발생시키는 등 이러한 문제를 피할 수있는 방법이 있습니까? 잡음은 최소한 Perlin 잡음 의 품질 , 이상적으로는 Simplex 잡음 의 품질을 가져야합니다 .


GPU Gems 3에서 볼 수 있듯이 삼면 투영법 ? 문제는 잡음이 다른 투영 사이에서 혼합 될 때 흐릿 해 지거나 바람직하지 않은 것처럼 보일지 여부입니다.
Nathan Reed

내 게시물에 다른 가능한 방법을 추가했습니다. 더 자세한 요구 사항으로 질문을 명확하게 설명하는 것이 좋습니다. 즉, 2D 3D 노이즈 슬라이스가 왜 시각적 요구 사항을 충족하지 않습니까? 성능 요구 사항은 무엇입니까?
John Calsbeek

@JohnCalsbeek 솔직히, 나는 어려운 요구 사항이 없습니다. 이것은 내가 개인 베타에 갈 것이라고 생각한 궁금한 질문이었습니다. 물론 3D 노이즈에서 2D 슬라이스를 잘라내는 것은 많은 응용 프로그램에 충분하지만 성능에 영향을 미치고 이방성 (눈에 띄거나 눈에 띄지 않을 수 있음)이있을 것입니다. "3D 노이즈에서 구를 자르는 것이 최선의 선택입니다. 왜냐하면 ..."이 확실한 답입니다.
Martin Ender

구체에서 소음을 발생시키는이 쉐이더 토이를 확인하십시오 : shadertoy.com/view/4sfGzS
Alan Wolfe

답변:


15

3D 노이즈를 사용하여 구 표면에서 평가하는 것을 고려할 것입니다.

구 표면의 도메인에 자연스럽게 존재하는 그라디언트 노이즈의 경우 각 셀의 면적이 거의 동일한 자연 연결 정보가있는 표면에 일정한 샘플 포인트 패턴이 필요하므로 인접 값을 보간하거나 합할 수 있습니다. 피보나치 그리드 와 같은 것이 작동 하는지 궁금합니다 .

구의 표면에 피보나치 격자

나는 네 이웃에 대한 지표와 거리를 알아내는 데 얼마나 많은 일이 필요한지를 결정하기 위해 수학을 씹어 보지 않았습니다. 3D 노이즈를 사용하는 것보다 효율이 떨어질 수 있습니다.

편집 : 다른 누군가가 수학을 씹었습니다! 구형 피보나치 매핑 에 대한이 새로운 논문을 참조하십시오 . 구형 노이즈에 적응하는 것이 간단 할 것 같습니다.


구의 표면에서 노이즈를 평가하는 것이 아니라 구를 렌더링하고 구를 노이즈 격자의 해상도로 세분화하면 괜찮습니다. 구면 의 표면에 측지 격자 를 만들 수 있습니다 (분할 된 정 이십 면체, 보통):

측지학 구

구의 각 정점은 그래디언트 노이즈에 대해 임의로 생성 된 그래디언트를 가질 수 있습니다. 이 정보를 픽셀 셰이더에 가져 오려면 (값 노이즈와 같은 간단한 보간을 원치 않는 한),이 기사의 와이어 프레임 렌더링과 같은 기법이 필요할 수 있습니다 . . 그런 다음 SV_PrimitiveID픽셀 셰이더 에서 (또는 OpenGL 등가물)을 읽고 사용중인 삼각형을 기준으로 정점에서 세 가지 노이즈 그라디언트를 읽은 다음 보간 된 중심 좌표를 사용하여 원하는 노이즈 계산을 사용할 수 있습니다.

이 방법의 가장 어려운 부분은 각 정점의 노이즈 값을 찾기 위해 삼각형 ID를 세 개의 샘플에 매핑하는 구성표를 만드는 것입니다.

구 모델보다 더 정밀한 해상도에서 여러 옥타브의 노이즈 또는 노이즈가 필요한 경우 정점으로 거친 측지 그리드를 수행하고 픽셀 셰이더에서 몇 가지 수준의 세분화를 수행 할 수 있습니다. 즉, 당신이 삼각형 세분화 그림있는 밖으로 무게 중심 좌표에서 것이다 메쉬가 더 테셀레이션 경우에, 그리고 다음 원시 ID 및 무게 중심의 좌표가 삼각형 것이 무엇인지 파악한다.


2
나는 전에 피보나치 그리드에 대해 들어 본 적이 없다. 꽤 괜찮은데!
Nathan Reed

그것은 매혹적인 종이입니다. 정사각형 격자 또는 육각형 격자에 더 가깝게 매개 변수를 조정하여 노이즈 생성에 대한 다양한 접근 방식을 허용하는 것처럼 보입니다.
trichoplax

타일의 가장자리 근처에 보간되지 않은 나쁜 결과가 있었지만 (효과가있는 효과와 정확한 노이즈 매개 변수에 따라 다릅니다.) 다소 흐릿한 노이즈에 적합하며 스파이크 / 세밀한 노이즈에는 적합하지 않습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.