2012-08-28 2 views

답변

1

그것을 사용하는 방법은 그리드의 값 사이에 보간 점이다 기반으로하기 때문에

나는 여기에 펄린 노이즈 소스를 넣을 수 없습니다.

이 목적을 위해, 심플 렉스 노이즈가 더 적합합니다 (그렇지 않으면 정사각형으로 정확하게 구형을 포장 할 수 없기 때문에 노이즈 밀도가 폴에서 동일하지 않습니다).

구를 단색 (케이스의 경우 삼각형)으로 나눈 다음 각 삼각형 각도 (한 점당 한 번)로 값을 랜덤 화해야합니다.

그런 다음 심플 렉스 노이즈 방법으로 보간하여 삼각형의 각 점에서 텍스처를 계산할 수 있습니다.

0

잡음 기능이 4D로 조정되면 x, y, z, w에 2 차원 원의 좌표를 제공 할 수 있습니다. 결과 이미지는 x 축과 y 축 모두에서 최적으로 바둑판 식 배열됩니다. 예를 들어

(매우 엉성한하지만 선명도) :

float textureSize = 1024.0f; 

    for(float i = 0.0f; i < textureSize; i += 1.0f){ 

     for(float j = 0.0f; j < textureSize; j += 1.0f){ 

     nx = cos((i/textureSize) * 2.0f * PI); 
     ny = cos((j/textureSize) * 2.0f * PI); 
     nz = sin((i/textureSize) * 2.0f * PI); 
     nw = sin((j/textureSize) * 2.0f * PI); 

     looped_noise = noise_4D(nx, ny, nz, nw, octaves, persistence, lacunarity, blah...); 
     noise_buffer[((int)i * (int)textureSize) + (int)j] = looped_noise; 

     } 
    } 

함수 쉽게 4D로 확장하지 않는 경우, 거기에 어떤 단면 노이즈 구현하려고합니다.

관련 문제