스폿 확산 조명 효과
스폿 확산 조명 효과를 사용하여 광원이 광원의 방향 원뿔로 제한되고 빛이 사방으로 흩어져있는 비 반사 표면으로 보이는 이미지를 만듭니다. 이 효과는 알파 채널을 높이 맵으로 사용하고 스폿 광원으로 이미지에 조명을 표시합니다.
출력 비트맵의 색은 밝은 색, 밝은 위치 및 표면 기하 도형의 결과입니다. 확산 조명이 있는 각 픽셀의 알파 채널 출력은 항상 1.0입니다.
이 효과에 대한 CLSID는 CLSID_D2D1SpotDiffuse.
예제 이미지
다음은 스폿 확산 조명 효과의 입력 및 출력 이미지를 보여 주는 예제입니다.
을 보여줌
효과는 다음 수식을 사용하여 최종 출력 픽셀 값을 계산합니다.
어디:
- kd = 확산 조명 상수입니다. 사용자가 지정합니다.


Lr, Lg, Lb = RGB 구성 요소의 밝은 색입니다.
효과 속성
표시 이름 및 인덱스 열거 | 형식 및 기본값 | 묘사 |
---|---|---|
조명위치 D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION (스팟 디퓨즈 조명 위치 속성) |
D2D1_VECTOR_3F {0.0f, 0.0f, 0.0f} |
점 광원의 밝은 위치입니다. 속성은 (x, y, z)로 정의된 D2D1_VECTOR_3F. 단위는 디바이스 독립적 픽셀(DIP)이며 바인딩되지 않습니다. |
PointsAt D2D1_SPOTDIFFUSE_PROP_POINTS_AT |
D2D1_VECTOR_3F {0.0f, 0.0f, 0.0f} |
스폿 조명이 집중되는 위치입니다. 속성은 (x, y, z)로 이루어진 D2D1_VECTOR_3F로 정의됩니다. 단위는 DIP에 있고 값은 바인딩되지 않습니다. |
초점 D2D1_SPOTDIFFUSE_PROP_FOCUS |
뜨다 1.0f |
스폿 조명의 포커스입니다. 이 속성은 단위가 없으며 0에서 200 사이에 정의됩니다. |
LimitingConeAngle D2D1_SPOTDIFFUSE_PROP_LIMITING_CONE_ANGLE |
뜨다 90.0f |
조명이 투영되는 영역을 제한하는 원뿔 각도입니다. 원뿔 바깥쪽에 빛이 투사되지 않습니다. 제한 원뿔 각도는 스폿 광원 축(LightPosition 및 PointsAt 속성 사이의 축)과 스폿 조명 원뿔 사이의 각도입니다. 이 속성은 도 단위로 정의되며 0~90도 사이여야 합니다. |
디퓨즈 컨스턴트 D2D1_SPOTDIFFUSE_PROP_확산_상수 |
떠다니다 1.0f |
들어오는 빛의 양에 대한 확산 반사의 비율입니다. 이 속성은 0에서 10,000 사이여야 하며 단위가 없습니다. |
SurfaceScale D2D1_SPOTDIFFUSE_PROP_표면_스케일 |
뜨다 1.0f |
Z 방향의 스케일 계수입니다. 표면 눈금은 단위가 없으며 0에서 10,000 사이여야 합니다. |
색 D2D1_SPOTDIFFUSE_PROP_COLOR |
D2D1_VECTOR_3F {1.0f, 1.0f, 1.0f} |
들어오는 조명의 색입니다. 이 속성은 벡터 3(R, G, B)로 노출되며 LR, LG, LB계산하는 데 사용됩니다. |
커널유닛길이 D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH |
D2D1_VECTOR_2F {1.0f, 1.0f} |
X 및 Y 방향으로 표면 보통을 생성하는 데 사용되는 Sobel 커널의 요소 크기입니다. 이 속성은 Sobel 그라데이션의 dx 및 dy 값에 매핑됩니다. 이 속성은 D2D1_VECTOR_2F(커널 단위 길이 X, 커널 단위 길이 Y)이며(DIP/커널 단위)에 정의되어 있습니다. 이 효과는 쌍선형 보간을 사용하여 커널 요소의 크기와 일치하도록 비트맵의 크기를 조정합니다. |
스케일 모드 D2D1_SPOTDIFFUSE_PROP_SCALE_MODE |
D2D1_SPOTDIFFUSE_SCALE_MODE D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR (확산 광원 스케일 모드: 선형) |
효과에서 이미지를 해당 커널 단위 길이에 맞게 조정하기 위해 사용하는 보간 모드입니다. 품질과 속도에 따라 6가지 배율 모드가 있습니다. 자세한 내용은 크기 조정 모드 참조하세요. |
크기 조정 모드
열거형 | 묘사 |
---|---|
D2D1_SPOTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR | 가장 가까운 단일 지점을 샘플링하고 사용합니다. 이 모드는 처리 시간을 줄이지만 가장 낮은 품질의 이미지를 출력합니다. |
D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR | 4포인트 샘플 및 선형 보간을 사용합니다. 이 모드는 가장 가까운 인접 항목보다 더 높은 품질의 이미지를 출력합니다. |
D2D1_SPOTDIFFUSE_SCALE_MODE_CUBIC | 보간을 위해 16개의 샘플 입방체 커널을 사용합니다. 이 모드는 가장 많은 처리 시간을 사용하지만 더 높은 품질의 이미지를 출력합니다. |
D2D1_SPOTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR | 좋은 에지 앤티앨리어싱을 위해 단일 픽셀 내에 4개의 선형 샘플을 사용합니다. 이 모드는 픽셀이 적은 이미지에서 소량으로 축소하는 데 적합합니다. |
D2D1_SPOTDIFFUSE_SCALE_MODE_ANISOTROPIC | 이방성 필터링을 사용하여 비트맵의 변형된 모양에 따라 패턴을 샘플링합니다. |
D2D1_SPOTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC | 변형 매트릭스에 다운스케일링이 관련된 경우 가변 크기의 고품질 입방 커널을 사용하여 이미지의 미리 다운스케일을 수행합니다. 그런 다음 최종 출력에 입방 보간 모드를 사용합니다. |
메모
모드를 선택하지 않으면 효과가 기본적으로 D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR로 설정됩니다.
요구 사항
요구 사항 | 가치 |
---|---|
지원되는 최소 클라이언트 | Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | Windows 스토어 앱] |
지원되는 최소 서버 | Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | Windows 스토어 앱] |
머리글 | d2d1effects.h |
도서관 | d2d1.lib, dxguid.lib |