SampleGrad(DirectX HLSL 텍스처 개체)
샘플 위치가 계산되는 방식에 영향을 주는 그라데이션을 사용하여 텍스처를 샘플링합니다.
<Template Type> Object.SampleGrad( sampler_state S, float Location, float DDX, float DDY [, int Offset] );
매개 변수
항목 | 설명 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Object |
모든 텍스처-개체 형식(Texture2DMS 및 Texture2DMSArray 제외)입니다. |
||||||||||||
S |
[in] 샘플러 상태입니다. 상태 할당을 포함하는 효과 파일에 선언된 개체입니다. |
||||||||||||
Location |
[in] 텍스처 좌표입니다. 인수 형식은 텍스처-개체 형식에 따라 달라집니다.
|
||||||||||||
DDX |
[in] x 방향의 표면 기하 도형 변동률입니다. 인수 형식은 텍스처-개체 형식에 따라 달라집니다.
|
||||||||||||
DDY |
[in] y 방향의 표면 기하 도형 변동률입니다. 인수 형식은 텍스처-개체 형식에 따라 달라집니다.
|
||||||||||||
Offset |
[in] 텍스처-개체 형식에 사용할 수 있는 선택적 텍스처 좌표 오프셋입니다. 오프셋은 샘플링하기 전에 위치에 적용됩니다. 정수 miplevel에서만 오프셋을 사용합니다. 그러지 않으면 하드웨어로 잘 변환되지 않는 결과를 얻을 수 있습니다. 인수 형식은 텍스처-개체 형식에 따라 달라집니다. 자세한 내용은 정수 오프셋 적용을 참조하세요.
|
반환 값
단일 또는 다중 구성 요소 벡터일 수 있는 텍스처의 템플릿 형식입니다. 형식은 텍스처의 DXGI_FORMAT을 기반으로 합니다.
최소 셰이더 모델
이 함수는 다음 셰이더 모델에서 지원됩니다.
vs_4_0 | vs_4_1 | ps_4_0 | ps_4_1 | gs_4_0 | gs_4_1 |
---|---|---|---|---|---|
x | x | x | x | x | x |
- TextureCubeArray는 셰이더 모델 4.1 이상에서 사용할 수 있습니다.
- 셰이더 모델 4.1은 Direct3D 10.1 이상에서 사용할 수 있습니다.
예
이 부분 코드 예제는 MotionBlur10 샘플의 MotionBlur.fx 파일에서 가져옵니다.
// Object Declarations
Texture2D g_txDiffuse;
SamplerState g_samLinear
{
Filter = ANISOTROPIC;
MaxAnisotropy = 8;
AddressU = Wrap;
AddressV = Wrap;
};
struct VSSceneOut
{
float4 Pos : SV_POSITION;
float4 Color : COLOR0;
float2 Tex : TEXCOORD;
float2 Aniso : ANISOTROPY;
};
float4 PSSceneMain( VSSceneOut Input ) : SV_TARGET
{
float2 ddx = Input.Aniso;
float2 ddy = Input.Aniso;
// Shader body calling the intrinsic function
float4 diff = g_txDiffuse.SampleGrad( g_samLinear, Input.Tex, ddx, ddy);
...
}