다음을 통해 공유


D3D11_RASTERIZER_DESC1 구조체(d3d11_1.h)

참고 이 구조는 Windows 8 이상 운영 체제에서 사용할 수 있는 Direct3D 11.1 런타임에서 지원됩니다.
 
래스터라이저 상태를 설명합니다.

구문

typedef struct D3D11_RASTERIZER_DESC1 {
  D3D11_FILL_MODE FillMode;
  D3D11_CULL_MODE CullMode;
  BOOL            FrontCounterClockwise;
  INT             DepthBias;
  FLOAT           DepthBiasClamp;
  FLOAT           SlopeScaledDepthBias;
  BOOL            DepthClipEnable;
  BOOL            ScissorEnable;
  BOOL            MultisampleEnable;
  BOOL            AntialiasedLineEnable;
  UINT            ForcedSampleCount;
} D3D11_RASTERIZER_DESC1;

멤버

FillMode

형식: D3D11_FILL_MODE

렌더링할 때 사용할 채우기 모드를 결정합니다.

CullMode

형식: D3D11_CULL_MODE

지정된 방향을 향한 삼각형이 그려지지 않음을 나타냅니다.

FrontCounterClockwise

형식: BOOL

삼각형이 전면 또는 후면인지를 지정합니다. TRUE이면 해당 꼭짓점이 렌더링 대상에서 시계 반대 방향으로 표시되고 시계 방향인 경우 역방향으로 간주되는 경우 삼각형이 전면으로 간주됩니다. FALSE이면 그 반대의 경우도 마찬가지입니다.

DepthBias

형식: INT

지정된 픽셀에 추가된 깊이 값입니다. 깊이 바이어스에 대한 자세한 내용은 깊이 바이어스 를 참조하세요.

DepthBiasClamp

형식: FLOAT

픽셀의 최대 깊이 바이어스입니다. 깊이 바이어스에 대한 자세한 내용은 깊이 바이어스 를 참조하세요.

SlopeScaledDepthBias

형식: FLOAT

지정된 픽셀의 기울기에서 스칼라입니다. 깊이 바이어스에 대한 자세한 내용은 깊이 바이어스 를 참조하세요.

DepthClipEnable

형식: BOOL

거리에 따라 클리핑을 사용할지 여부를 지정합니다.

하드웨어는 항상 래스터화된 좌표의 x 및 y 클리핑을 수행합니다. DepthClipEnable이 기본값-TRUE로 설정된 경우 하드웨어는 z 값도 클리핑합니다(즉, 하드웨어는 다음 알고리즘의 마지막 단계를 수행).


0 < w
-w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
-w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
0 <= z <= w

DepthClipEnableFALSE로 설정하면 하드웨어는 z 클리핑(즉, 이전 알고리즘의 마지막 단계)을 건너뜁니다. 그러나 하드웨어는 여전히 "0w < " 클리핑을 수행합니다. z 클리핑을 사용하지 않도록 설정하면 픽셀 수준에서 부적절한 깊이 순서가 발생할 수 있습니다. 그러나 z 클리핑을 사용하지 않도록 설정하면 스텐실 섀도 구현이 간소화됩니다. 즉, 후면 클리핑 평면을 벗어나는 기하 도형에 대한 복잡한 특수 사례 처리를 방지할 수 있습니다.

ScissorEnable

형식: BOOL

가위 사각형 컬링을 사용할지 여부를 지정합니다. 활성 가위 사각형 외부의 모든 픽셀은 컬링됩니다.

MultisampleEnable

형식: BOOL

MSAA(다중 샘플 앤티앨리어싱) 렌더링 대상에서 사분면 또는 알파선 앤티앨리어싱 알고리즘을 사용할지 여부를 지정합니다. 사분면 선 앤티앨리어싱 알고리즘을 사용하려면 TRUE 로, 알파선 앤티앨리어싱 알고리즘을 사용하려면 FALSE 로 설정합니다. 이 멤버에 대한 자세한 내용은 비고를 참조하세요.

AntialiasedLineEnable

형식: BOOL

선 앤티앨리어싱을 사용할지 여부를 지정합니다. 선 그리기를 수행하고 MultisampleEnableFALSE인 경우에만 적용됩니다. 이 멤버에 대한 자세한 내용은 비고를 참조하세요.

ForcedSampleCount

형식: UINT

UAV 렌더링 또는 래스터화 중 강제 적용되는 샘플 수입니다. 유효한 값은 0, 1, 2, 4, 8 및 선택적으로 16입니다. 0은 샘플 수가 강제되지 않음을 나타냅니다.

참고ForcedSampleCount 를 1 이상으로 설정하여 렌더링하려면 다음 지침을 따라야 합니다.
  • 깊이 스텐실 뷰를 바인딩하지 마세요.
  • 깊이 테스트를 사용하지 않도록 설정합니다.
  • 셰이더가 깊이를 출력하지 않는지 확인합니다.
  • 렌더링 대상 뷰가 바인딩된 경우(D3D11_BIND_RENDER_TARGET) ForcedSampleCount 가 1보다 큰 경우 모든 렌더링 대상에 단일 샘플만 있는지 확인합니다.
  • 샘플 빈도로 셰이더를 작동하지 마세요. 따라서 ID3D11ShaderReflection::IsSampleFrequencyShaderFALSE를 반환합니다.
그렇지 않으면 렌더링 동작이 정의되지 않습니다. 깊이 스텐실을 구성하는 방법에 대한 자세한 내용은 Depth-Stencil 기능 구성을 참조하세요.
 

설명

래스터라이저 상태는 래스터라이저 단계의 동작을 정의합니다. 래스터라이저 상태 개체를 만들려면 ID3D11Device1::CreateRasterizerState1을 호출합니다. 래스터라이저 상태를 설정하려면 ID3D11DeviceContext::RSSetState를 호출합니다.

일부 래스터라이저 상태를 지정하지 않으면 Direct3D 런타임은 래스터라이저 상태에 다음 기본값을 사용합니다.

시스템 상태 기본값
FillMode 단색
CullMode 뒤로
FrontCounterClockwise FALSE
DepthBias 0
SlopeScaledDepthBias 0.0f
DepthBiasClamp 0.0f
DepthClipEnable TRUE
ScissorEnable FALSE
MultisampleEnable FALSE
AntialiasedLineEnable FALSE
ForcedSampleCount 0
 
참고기능 수준 9.1, 9.2, 9.3 및 10.0의 경우 MultisampleEnableFALSE로 설정하면 런타임은 샘플 수가 1보다 큰 렌더링 대상에 대해서도 앤티앨리어싱 없이 모든 점, 선 및 삼각형을 렌더링합니다. 기능 수준 10.1 이상의 경우 MultisampleEnable 의 설정은 MSAA와 관련하여 점 및 삼각형에 영향을 주지 않으며 다음 표와 같이 선 렌더링 알고리즘의 선택 영역에만 영향을 줍니다.
 
라인 렌더링 알고리즘 MultisampleEnable AntialiasedLineEnable
별칭 FALSE FALSE
알파 앤티앨리어스 FALSE TRUE
사변형 TRUE FALSE
사변형 TRUE TRUE
 

MultisampleEnableAntialiasedLineEnable 멤버의 설정은 MSAA(다중 샘플 앤티앨리어싱) 렌더링 대상(즉, 샘플 수가 1보다 큰 렌더링 대상)에만 적용됩니다. 기능 수준 동작의 차이와 선 그리기를 수행하지 않거나 선이 사분면으로 렌더링되는 것을 신경 쓰지 않는 한 MSAA 렌더링 대상에서 렌더링할 때마다 항상 MultisampleEnableTRUE로 설정하는 것이 좋습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 8 및 Windows 7용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2012 및 Windows Server 2008 R2용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
머리글 d3d11_1.h

추가 정보

핵심 구조체