문제

OpenGL에서 체적 구름을 렌더링하고 싶습니다. 부피 구름을 렌더링하는 간단한 기술을 설명하는 흥미로운 논문을 발견했습니다. (http://www.inframez.com/events_volclouds_slide18.htm) 그러나 나는 그들의 "프랙탈 큐브"(또는 Perlin Noise Cube)를 만드는 방법을 모른다.

내 질문은 : 큐브의 6 개의 타일성 프랙탈 텍스처를 만드는 방법은 무엇입니까?

편집하다: 내 목표는 클라우드 스카이 박스가 아닌 볼륨 클라우드 객체를 만드는 것입니다.

도움이 되었습니까?

해결책

Ken Perlin 자신이 작성한 Perlin 소음에 대한 멋진 소개는 다음과 같습니다. 여기. 그는 하나 또는 2 차원 노이즈 함수를 세부적으로 생성하는 것에 대해 이야기 한 다음, 3D에서 어떻게 작동하는지 보여주고 원하는 것처럼 견고한 큐브를 생성하기 위해 일반화합니다.

다른 팁

2D 빌보드로드 클라우드 텍스처를 사용하는 경우 투명도가 클라우드와 같은 알파 블렌딩 2D 텍스처를 만듭니다. 그들이 당신에게 요구하는 것은 거의 똑같은 것입니다. 텍스처 만 큐브를 매끄럽게 감싸고 있습니다 (스카이 박스처럼). 그만큼 Perlin Noise 필터 무언가를 클라우드처럼 보이게하는 알고리즘처럼 보입니다.

이것에 대한 나의 바로 가기 접근법은 Photoshop의 클라우드 필터를 사용하여 질감을 만드는 것입니다. 기본 개념을 따르십시오 이 튜토리얼 알파 블렌딩의 경우, 원형 구배를 수행하지 마십시오. 원활한 스카이 박스 같은 그리드로 자릅니다 (즉, 큐브 주위에 6면이 있고 접힌다).

나는 그들이 언급 한 '프랙탈 큐브'텍스처는 다수의 옥타브의 Perlin 소음에서 생성 된 FBM (Fractal Brownian Motion) 프랙탈이라고 생각합니다. 이것 게임 프로그래밍 보석 장에서는 이들이 형성되는 방법에 대해 설명합니다. 기본 아이디어는 Perlin 노이즈의 여러 '옥타브'를 결합하는 것입니다. 노이즈 기능을 수정하여 원활하게 타일링 할 수 있습니다. Photoshop의 클라우드 필터는 기본적으로 FBM 노이즈이며 원활하게 타일링하므로 Photoshop에 액세스 할 수있는 경우 사용할 수 있습니다.

멋진 클라우드 렌더링에 관심이 있다면 Mark Harris의 알고리즘은 복잡하지만 매우 좋습니다. http://www.markmark.net/clouds/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top