Visual Studio에서 이미지 콘텐츠 파이프라인을 사용하여 풍부한 질감 형식 내보내기

이 문서에서는 이미지 콘텐츠 파이프라인을 사용하여 MIP 맵, 미리 곱한 알파, Direct2D 또는 JavaScript 앱에 사용할 수 있는 텍스처와 같은 텍스처를 내보내는 방법을 설명합니다.

밉 맵을 포함하는 질감 내보내기

이미지 콘텐츠 파이프라인은 프로젝트의 빌드 단계 중에 소스 이미지에서 MIP 맵을 생성할 수 있습니다. 특정 효과를 구현하기 위해 경우에 따라 각 MIP 수준의 이미지 콘텐츠를 수동으로 지정해야 합니다. 각 MIP 수준의 이미지 콘텐츠를 수동으로 지정할 필요가 없는 경우 빌드 시 MIP 맵을 생성하면 MIP 맵 콘텐츠가 동기화되지 않고 런타임에 MIP 맵을 생성하는 동안 성능이 저하되지 않습니다.

이 문서에서 다루는 내용:

  • 이미지 콘텐츠 파이프라인에서 처리할 소스 이미지 구성.

  • MIP 맵을 생성하도록 이미지 콘텐츠 파이프라인 구성.

밉 맵 내보내기

MIP 매핑은 3차원 게임이나 앱에서 질감이 적용된 표면에 대한 자동 화면 공간 수준 세부 정보를 제공합니다. 질감의 다운 샘플링 버전을 미리 계산하여 게임이나 앱의 렌더링 성능을 향상시킵니다. 다운 샘플링 버전을 미리 계산하면 샘플링할 때마다 전체 질감을 다운 샘플링할 필요가 없습니다.

MIP 맵이 있는 질감을 내보내려면

  1. 기본 질감으로 시작합니다. 기존 이미지 파일을 로드하거나 새로 만듭니다. MIP 맵을 지원하려면 너비 및 높이가 둘 다 동일한 2의 거듭제곱인 크기(예: 64x64, 256x256 또는 512x512)의 질감을 지정합니다.

  2. 방금 만든 질감 파일이 이미지 콘텐츠 파이프라인에서 처리되도록 구성합니다. 솔루션 탐색기에서 만들어 놓은 질감 파일에 대한 바로 가기 메뉴를 열고 속성을 선택합니다. 구성 속성>일반 페이지에서 항목 종류 속성을 이미지 콘텐츠 파이프라인으로 설정합니다. 콘텐츠 속성이 로 설정되고 빌드에서 제외아니요로 설정되어야 합니다. 적용을 선택합니다.

    이미지 콘텐츠 파이프라인 구성 속성 페이지가 표시됩니다.

  3. MIP 맵을 생성하도록 이미지 콘텐츠 파이프라인을 구성합니다. 구성 속성>이미지 콘텐츠 파이프라인>일반 페이지에서 MIP 생성 속성을 예(/generatemips)로 설정합니다.

  4. 확인을 선택합니다.

프로젝트를 빌드할 때 이미지 콘텐츠 파이프라인은 소스 이미지를 작업 형식에서 지정한 출력 형식으로 변환합니다(MIP 수준 포함). 결과는 프로젝트의 출력 디렉터리로 복사됩니다.

미리 증가된 알파를 사용하는 질감 내보내기

이미지 콘텐츠 파이프라인은 소스 이미지에서 미리 곱한 알파를 생성할 수 있습니다. 이 방법은 더 간단히 사용할 수 있고 미리 곱한 알파가 포함되지 않은 질감보다 더 강력할 수 있습니다.

이 문서는 다음 활동을 보여 줍니다.

  • 이미지 콘텐츠 파이프라인에서 처리할 소스 이미지 구성.

  • 미리 곱한 알파를 생성하도록 이미지 콘텐츠 파이프라인 구성.

미리 곱한 알파

미리 곱한 알파는 반투명도(미리 곱한 알파가 통과 허용하는 기본 색의 양)에서 텍셀의 색 기여도(미리 곱한 알파가 장면에 추가하는 색)를 분리하는 방식으로 실제 재질과 광원의 사실적인 상호 작용을 더 잘 표현하기 때문에 기존 미리 곱하지 않은 알파에 비해 다양한 장점을 제공합니다. 미리 곱한 알파 사용의 몇 가지 장점은 다음과 같습니다.

  • 미리 곱한 알파와 혼합하는 것은 결합형 작업입니다. 질감이 혼합되는 순서에 관계없이 여러 불투명 질감을 혼합한 결과는 동일합니다.

  • 미리 곱한 알파 혼합의 결합형 특성 때문에 불투명 개체의 멀티패스 렌더링은 간단합니다.

  • 미리 곱한 알파를 사용하면 순수 첨가 혼합(알파를 0으로 설정)과 선형 보간 혼합을 둘 다 동시에 적용할 수 있습니다. 예를 들어 파티클 시스템에서 첨가 혼합된 불 파티클은 선형 보간을 통해 혼합된 불투명 연기 파티클이 될 수 있습니다. 미리 곱한 알파가 없으면 연기 파티클과 별도로 불 파티클을 그리고 그리기 호출 사이에 렌더링 상태를 수정해야 합니다.

  • 미리 곱한 알파를 사용하는 질감은 사용하지 않는 질감보다 더 높은 품질로 압축되고, 미리 곱한 알파를 사용하지 않는 질감을 혼합할 경우 생성될 수 있는 변색된 가장자리(또는 “후광 효과”)를 나타내지 않습니다.

미리 곱한 알파를 사용하는 질감을 만들려면

  1. 기본 질감으로 시작합니다. 기존 이미지 파일을 로드하거나 새로 만듭니다.

  2. 이미지 콘텐츠 파이프라인에서 처리되도록 질감 파일을 구성합니다. 솔루션 탐색기에서 질감 파일의 바로 가기 메뉴를 열고 속성을 선택합니다. 구성 속성>일반 페이지에서 항목 종류 속성을 이미지 콘텐츠 파이프라인으로 설정합니다. 콘텐츠 속성이 로 설정되고 빌드에서 제외아니요로 설정되어 있는지 확인하고 적용 단추를 선택합니다. 이미지 콘텐츠 파이프라인 구성 속성 페이지가 표시됩니다.

  3. 미리 곱한 알파를 생성하도록 이미지 콘텐츠 파이프라인을 구성합니다. 구성 속성>이미지 콘텐츠 파이프라인>일반 페이지에서 미리 곱한 알파 형식으로 변환 속성을 예(/generatepremultipliedalpha)로 설정합니다.

  4. 확인 단추를 선택합니다.

    프로젝트를 빌드할 때 이미지 콘텐츠 파이프라인은 소스 이미지를 작업 형식에서 지정한 출력 형식으로 변환하고(여기에는 이미지를 미리 곱한 알파 형식으로 변환하는 작업이 포함됨) 결과는 프로젝트의 출력 디렉터리로 복사됩니다.

Direct2D 또는 JavaScript 앱과 함께 사용하기 위해 텍스처 내보내기

이미지 콘텐츠 파이프라인은 Direct2D의 내부 렌더링 규칙에 부합되는 질감을 생성할 수 있습니다. 이 종류의 질감은 Direct2D를 사용하는 앱 및 JavaScript를 사용하여 만든 UWP 앱에서 사용하는 데 적합합니다.

이 문서는 다음 활동을 보여 줍니다.

  • 이미지 콘텐츠 파이프라인에서 처리할 소스 이미지 구성.

  • Direct2D 또는 JavaScript 앱에서 사용할 수 있는 질감을 생성하도록 이미지 콘텐츠 파이프라인 구성.

    • 블록 압축 .dds 파일을 생성합니다.

    • 미리 곱한 알파를 생성합니다.

    • MIP 맵 생성을 사용하지 않도록 설정합니다.

Direct2D의 렌더링 규칙

Direct2D의 컨텍스트에서 사용되는 질감은 이러한 Direct2D 내부 렌더링 규칙을 따릅니다.

  • Direct2D는 미리 곱한 알파를 사용하여 투명도 및 반투명도를 구현합니다. 질감에 투명도 또는 반투명도를 사용하지 않는 경우에도 Direct2D에서 사용되는 질감은 미리 곱한 알파를 포함해야 합니다.

  • 다음 블록 압축 형식 중 하나를 사용하여 질감을 .dds 형식으로 제공해야 합니다.

    • BC1_UNORM 압축

    • BC2_UNORM 압축

    • BC3_UNORM 압축

  • MIP 맵은 지원되지 않습니다.

Direct2D 렌더링 규칙에 부합되는 질감을 만들려면

  1. 기본 질감으로 시작합니다. 기존 이미지 파일을 로드하거나 새로 만듭니다. .dds 형식의 블록 압축을 지원하려면 너비 및 높이가 4의 배수인 크기(예: 100x100, 128x128 또는 256x192)의 질감을 지정합니다. MIP 매핑은 지원되지 않으므로 질감은 정사각형일 필요가 없고 크기가 2의 제곱일 필요가 없습니다.

  2. 이미지 콘텐츠 파이프라인에서 처리되도록 질감 파일을 구성합니다. 솔루션 탐색기에서 만들어 놓은 질감 파일에 대한 바로 가기 메뉴를 열고 속성을 선택합니다. 구성 속성>일반 페이지에서 항목 종류 속성을 이미지 콘텐츠 파이프라인으로 설정합니다. 콘텐츠 속성이 로 설정되고 빌드에서 제외아니요로 설정되어 있는지 확인하고 적용 단추를 선택합니다. 이미지 콘텐츠 파이프라인 구성 속성 페이지가 표시됩니다.

  3. 출력 형식을 블록 압축 형식 중 하나로 설정합니다. 구성 속성>이미지 콘텐츠 파이프라인>일반 페이지에서 압축 속성을 BC3_UNORM 압축(/compress:BC3_UNORM)으로 설정합니다. 요구 사항에 따라 기타 BC1, BC2 또는 BC3 형식 중에서 선택할 수 있습니다. Direct2D는 현재 BC4, BC5, BC6 또는 BC7 질감을 지원하지 않습니다. 다른 BC 형식에 대한 자세한 내용은 블록 압축(Direct3D 10)을 참조하세요.

    참고 항목

    지정된 압축 형식은 이미지 콘텐츠 파이프라인에서 생성되는 파일의 형식을 결정합니다. 이 형식은 이미지 편집기에 있는 소스 이미지의 형식 속성과 다릅니다. 이 속성은 디스크에 저장된 소스 이미지 파일의 형식(작업 형식)을 결정합니다. 일반적으로 압축된 작업 형식은 필요하지 않습니다.

  4. 미리 곱한 알파를 사용하는 출력을 생성하도록 이미지 콘텐츠 파이프라인을 구성합니다. 구성 속성>이미지 콘텐츠 파이프라인>일반 페이지에서 미리 곱한 알파 형식으로 변환 속성을 예(/generatepremultipliedalpha)로 설정합니다.

  5. MIP 맵을 생성하지 않도록 이미지 콘텐츠 파이프라인을 구성합니다. 구성 속성>이미지 콘텐츠 파이프라인>일반 페이지에서 Mip 생성 속성을 아니요로 설정합니다.

  6. 확인 단추를 선택합니다.

    프로젝트를 빌드할 때 이미지 콘텐츠 파이프라인은 소스 이미지를 작업 형식에서 지정한 출력 형식으로 변환하고(변환에는 미리 곱한 알파 생성이 포함됨) 결과는 프로젝트의 출력 디렉터리로 복사됩니다.

Visual Studio에서 이미지 편집기를 사용하여 DirectX 앱 개발에 사용되는 질감 및 이미지를 만들거나 수정하는 방법에 대해 자세히 알아보려면 텍스처 및 이미지 작업을 방문하세요.