다음을 통해 공유


난기류 효과

난기류 효과를 사용하여 Perlin 노이즈 함수를 기반으로 비트맵을 생성합니다.

난기류 효과에는 입력 이미지가 없습니다.

이 효과에 대한 CLSID는 CLSID_D2D1Turbulence.

예제 이미지

난기류 효과의 출력을 보여 주는 효과 예제 스크린샷

난기류 효과는 Perlin 노이즈 함수의 하나 이상의 옥타브의 합계를 계산합니다. Perlin 노이즈는 빈도, 위치 및 시드 값에 따라 값이 달라지는 의사 임의 함수입니다. 이 효과는 이러한 수식 중 하나를 사용하여 RGBA 값을 생성합니다.

D2D1_TURBULENCE_NOISE_FRACTAL_SUM 노이즈 모드를 선택하면 효과가 이 수식을 사용합니다.

비트맵을 생성하는 데 사용되는 난기류 함수를 보여 주는 스크린샷

D2D1_TURBULENCE_NOISE_TURBULENCE 노이즈 모드를 선택하면 효과가 이 수식을 사용합니다.

비트맵을 생성하는 데 사용되는 난기류 함수입니다.

참고

함수의 PerlinNoise 범위는 [-1, 1]입니다.

이 효과는 미리 곱한 알파로 픽셀 값을 출력합니다.

효과 속성

표시 이름 및 인덱스 열거형 Description
Offset
D2D1_TURBULENCE_PROP_OFFSET
난기류 출력이 생성되는 좌표입니다.
Perlin 노이즈를 생성하는 데 사용되는 알고리즘은 위치에 따라 달라지므로 다른 오프셋으로 인해 다른 출력이 생성됩니다. 이 속성은 바인딩되지 않으며 단위는 DIP에 지정됩니다.
참고: 노이즈 함수 출력이 무한하고 함수가 타일 주위에 래핑되므로 오프셋은 변환과 같은 효과가 없습니다.
형식이 D2D1_VECTOR_2F.
기본값은 {0.0f, 0.0f}입니다.
크기
D2D1_TURBULENCE_PROP_SIZE
난기류 출력의 크기입니다.
이 속성은 바인딩되지 않으며 단위는 DIP에 지정됩니다.

형식이 D2D1_VECTOR_2F.
기본값은 {0.0f, 0.0f}입니다.
BaseFrequency
D2D1_TURBULENCE_PROP_BASE_FREQUENCY
X 및 Y 방향의 기본 주파수입니다. 이 속성은 float이며 0보다 커야 합니다. 단위는 1/DIP로 지정됩니다.
기본 주파수의 값이 1(1/DIP)이면 Perlin 노이즈가 두 픽셀 사이의 전체 주기를 완료합니다. 이러한 픽셀에 대한 보간이 용이하면 픽셀 간에 상관 관계가 없으므로 완전히 임의 픽셀이 생성됩니다.
기본 주파수에 대해 0.1(1/DIP) 값인 Perlin 노이즈 함수는 10개의 DIP마다 반복됩니다. 이로 인해 픽셀과 일반적인 난기류 효과가 표시됩니다.
형식이 D2D1_VECTOR_2F.
기본값은 {0.01f, 0.01f}입니다.
NumOctaves
D2D1_TURBULENCE_PROP_NUM_OCTAVES
노이즈 함수의 옥타브 수입니다. 이 속성은 UINT32이며 0보다 커야 합니다.
UINT32 형식입니다.
기본값은 1입니다.
Seed
D2D1_TURBULENCE_PROP_SEED
의사 임의 생성기의 시드입니다. 이 속성은 바인딩되지 않습니다.
UINT32 형식입니다.
기본값은 0입니다.
노이즈
D2D1_TURBULENCE_PROP_NOISE
난기류 노이즈 모드입니다. 이 속성은 프랙탈 합계 또는 난기류일 수 있습니다. 프랙탈 노이즈 또는 난기류 함수를 기반으로 비트맵을 생성할지 여부를 나타냅니다. 자세한 내용은 노이즈 모드를 참조하세요.
형식이 D2D1_TURBULENCE_NOISE.
기본값은 D2D1_TURBULENCE_NOISE_FRACTAL_SUM.
스티치 가능
D2D1_TURBULENCE_PROP_STITCHABLE
스티치를 켜거나 끕니다. 출력 비트맵을 스티치할 수 있도록 기본 빈도가 조정됩니다. 이는 난기류 효과 출력의 여러 복사본을 타일화하려는 경우에 유용합니다.
  • True 출력 비트맵은 이음새가 표시되지 않고 타일 효과를 사용하여 바둑판식으로 배열할 수 있습니다. 출력 비트맵을 스티치할 수 있도록 기본 빈도가 조정됩니다.
  • False 기본 빈도가 조정되지 않으므로 비트맵이 바둑판식으로 바둑판식으로 표시되면 타일 사이에 이음새가 나타날 수 있습니다.

BOOL 형식입니다.
기본값은 FALSE입니다.

노이즈 모드

열거형 설명
D2D1_TURBULENCE_NOISE_FRACTAL_SUM 출력 범위를 [-1, 1]에서 [0, 1]로 이동하여 옥타브의 합계를 계산합니다.
D2D1_TURBULENCE_NOISE_TURBULENCE 각 옥타브의 절대값 합계를 계산합니다.

참고

두 모드 모두 출력 값의 명시적 클램프를 포함하지 않습니다.

출력 비트맵

이 효과는 논리적으로 무한 크기의 비트맵을 생성합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | Windows 스토어 앱]
지원되는 최소 서버 Windows 8 및 Windows 7용 플랫폼 업데이트 [데스크톱 앱 | Windows 스토어 앱]
헤더 d2d1effects.h
라이브러리 d2d1.lib, dxguid.lib

ID2D1Effect