Sample(S,float,int,float) 함수(HLSL 참조)

샘플 LOD(세부 수준) 값을 클램프할 선택적 값으로 Texture2D를 샘플링합니다.

참고

셰이더 모델 5 이상이 필요합니다.

 

구문

DXGI_FORMAT Sample(
  in SamplerState S,
  in float Location,
  in int Offset,
  in float Clamp
);

매개 변수

S [in]

샘플러 상태입니다. 상태 할당을 포함하는 효과 파일에 선언된 개체입니다.

Location [in]

질감 좌표입니다. 인수 형식은 texture-object 형식에 따라 달라집니다.

텍스처-개체 형식 매개 변수 유형
Texture1D float
Texture1DArray, Texture2D float2
Texture2DArray, Texture3D, TextureCube float3
TextureCubeArray float4

 

Offset [in]

모든 텍스처 개체 형식에 사용할 수 있는 선택적 텍스처 좌표 오프셋입니다. 오프셋은 샘플링 전에 위치에 적용됩니다. 텍스처 오프셋은 정적이어야 합니다. 인수 형식은 텍스처-개체 형식에 따라 달라집니다. 자세한 내용은 텍스처 좌표 오프셋 적용을 참조하세요.

텍스처-개체 형식 매개 변수 유형
Texture1D, Texture1DArray int
Texture2D, Texture2DArray int2
Texture3D int3
TextureCube, TextureCubeArray 지원되지 않음

 

Clamp [in]

샘플 LOD 값을 클램프할 선택적 값입니다. 예를 들어, 클램프 값으로 2.0f를 전달하면 개별 샘플이 2.0f 미만의 mip 수준에 액세스하지 않도록 합니다.

반환 값

DXGI_FORMAT에 나열된 형식화된 값 중 하나인 텍스처 형식입니다.

설명

텍스처 샘플링은 텍셀 위치를 사용하여 텍셀 값을 조회합니다. 조회 전 위치에 오프셋을 적용할 수 있습니다. 샘플러 상태에는 샘플링 및 필터링 옵션이 포함됩니다. 이 메서드는 픽셀 셰이더 내에서 호출할 수 있지만 꼭짓점 셰이더나 기하 도형 셰이더에서는 지원되지 않습니다.

정수 miplevel에서만 오프셋을 사용합니다. 그렇지 않으면 하드웨어 구현 또는 드라이버 설정에 따라 다른 결과를 가져올 수 있습니다.

텍셀 위치 계산

텍스처 좌표는 정규화된 텍스처 공간이라고도 하는 텍스처 데이터를 참조하는 부동 소수점 값입니다. 주소 래핑 모드는 [0...1] 범위 밖의 텍스처 좌표를 수정하기 위해 이 순서(텍스처 좌표 + 오프셋 + 래핑 모드)로 적용됩니다.

텍스처 배열의 경우 위치 매개 변수의 추가 값은 텍스처 배열에 대한 인덱스를 지정합니다. 이 인덱스는 표준 텍스처 좌표에 대한 정규화된 공간 대신 스케일링된 부동 소수점 값으로 처리됩니다. 정수 인덱스로의 변환은 다음 순서로 수행됩니다(부동 소수점 + 가장 가까운 정수로 반올림 + 배열 범위로 클램프).

텍스처 좌표 오프셋 적용

오프셋 매개 변수는 텍셀 공간에서 텍스처 좌표를 수정합니다. 텍스처 좌표가 정규화된 부동 소수점 숫자이더라도 오프셋은 정수 오프셋을 적용합니다. 또한 텍스처 오프셋은 정적이어야 합니다.

반환되는 데이터 서식은 텍스처 형식에 의해 결정됩니다. 예를 들어, 텍스처 리소스가 DXGI_FORMAT_A8B8G8R8_UNORM_SRGB 형식으로 정의된 경우 샘플링 작업은 샘플링된 텍셀을 감마 2.0에서 1.0으로 변환하고, 필터링하고, 결과를 [0..1] 범위의 부동 소수점 값으로 씁니다.

정수 miplevel에서만 오프셋을 사용합니다. 그렇지 않으면 하드웨어로 제대로 변환되지 않는 결과를 가져올 수 있습니다.

추가 정보

Sample 메서드

텍스처 개체