D3DTEXTUREOP 열거형
단계별 텍스처 혼합 작업을 정의합니다.
Syntax
typedef enum D3DTEXTUREOP {
D3DTOP_DISABLE = 1,
D3DTOP_SELECTARG1 = 2,
D3DTOP_SELECTARG2 = 3,
D3DTOP_MODULATE = 4,
D3DTOP_MODULATE2X = 5,
D3DTOP_MODULATE4X = 6,
D3DTOP_ADD = 7,
D3DTOP_ADDSIGNED = 8,
D3DTOP_ADDSIGNED2X = 9,
D3DTOP_SUBTRACT = 10,
D3DTOP_ADDSMOOTH = 11,
D3DTOP_BLENDDIFFUSEALPHA = 12,
D3DTOP_BLENDTEXTUREALPHA = 13,
D3DTOP_BLENDFACTORALPHA = 14,
D3DTOP_BLENDTEXTUREALPHAPM = 15,
D3DTOP_BLENDCURRENTALPHA = 16,
D3DTOP_PREMODULATE = 17,
D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
D3DTOP_MODULATECOLOR_ADDALPHA = 19,
D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
D3DTOP_BUMPENVMAP = 22,
D3DTOP_BUMPENVMAPLUMINANCE = 23,
D3DTOP_DOTPRODUCT3 = 24,
D3DTOP_MULTIPLYADD = 25,
D3DTOP_LERP = 26,
D3DTOP_FORCE_DWORD = 0x7fffffff
} D3DTEXTUREOP, *LPD3DTEXTUREOP;
상수
-
D3DTOP_DISABLE
-
이 텍스처 스테이지 및 인덱스가 더 높은 모든 스테이지의 출력을 사용하지 않도록 설정합니다. 텍스처 매핑을 사용하지 않도록 설정하려면 첫 번째 텍스처 단계(0단계)에 대한 색 작업으로 설정합니다. 색 작업을 사용하도록 설정하면 알파 작업을 사용하지 않도록 설정할 수 없습니다. 색 혼합을 사용할 때 알파 연산을 D3DTOP_DISABLE 설정하면 정의되지 않은 동작이 발생합니다.
-
D3DTOP_SELECTARG1
-
수정되지 않은 이 텍스처 스테이지의 첫 번째 색 또는 알파 인수를 출력으로 사용합니다. 이 작업은 D3DTSS_COLOROP 텍스처 스테이지 상태와 함께 사용할 때의 색 인수와 D3DTSS_ALPHAOP 함께 사용할 때 알파 인수에 영향을 줍니다.
-
D3DTOP_SELECTARG2
-
수정되지 않은 이 텍스처 스테이지의 두 번째 색 또는 알파 인수를 출력으로 사용합니다. 이 작업은 D3DTSS_COLOROP 텍스처 스테이지 상태와 함께 사용할 때의 색 인수와 D3DTSS_ALPHAOP 함께 사용할 때 알파 인수에 영향을 줍니다.
-
D3DTOP_MODULATE
-
인수의 구성 요소를 곱합니다.
-
D3DTOP_MODULATE2X
-
인수의 구성 요소를 곱하고 밝기를 위해 제품을 왼쪽 1비트(효과적으로 2 곱)로 이동합니다.
-
D3DTOP_MODULATE4X
-
인수의 구성 요소를 곱하고 밝기를 위해 제품을 왼쪽 2비트(효과적으로 4를 곱)로 이동합니다.
-
D3DTOP_ADD
-
인수의 구성 요소를 추가합니다.
-
D3DTOP_ADDSIGNED
-
인수의 구성 요소를 - 0.5 바이어스로 추가하여 0.5에서 0.5까지의 유효 값 범위를 만듭니다.
-
D3DTOP_ADDSIGNED2X
-
인수의 구성 요소를 - 0.5 바이어스로 추가하고 제품을 왼쪽 1비트로 이동합니다.
-
D3DTOP_SUBTRACT
-
첫 번째 인수의 구성 요소에서 두 번째 인수의 구성 요소를 뺍니다.
-
D3DTOP_ADDSMOOTH
-
첫 번째 및 두 번째 인수를 추가합니다. 그런 다음, 합계에서 제품을 뺍니다.
-
D3DTOP_BLENDDIFFUSEALPHA
-
각 꼭짓점에서 보간된 알파를 사용하여 이 텍스처 단계를 선형적으로 혼합합니다.
-
D3DTOP_BLENDTEXTUREALPHA
-
이 스테이지의 텍스처에서 알파를 사용하여 이 텍스처 스테이지를 선형적으로 혼합합니다.
-
D3DTOP_BLENDFACTORALPHA
-
스칼라 알파 집합과 D3DRS_TEXTUREFACTOR 렌더링 상태를 사용하여 이 텍스처 단계를 선형적으로 혼합합니다.
-
D3DTOP_BLENDTEXTUREALPHAPM
-
미리 곱한 알파를 사용하는 텍스처 스테이지를 선형적으로 혼합합니다.
-
D3DTOP_BLENDCURRENTALPHA
-
이전 텍스처 단계에서 가져온 알파를 사용하여 이 텍스처 스테이지를 선형적으로 혼합합니다.
-
D3DTOP_PREMODULATE
-
D3DTOP_PREMODULATE n단계에서 설정됩니다. n단계의 출력은 arg1입니다. 또한 n + 1 스테이지에 텍스처가 있는 경우 n + 1단계의 모든 D3DTA_CURRENT n + 1단계의 텍스처로 미리 곱합니다.
-
D3DTOP_MODULATEALPHA_ADDCOLOR
-
첫 번째 인수의 알파를 사용하여 두 번째 인수의 색을 변조합니다. 그런 다음 결과를 인수 1에 추가합니다. 이 작업은 색 작업(D3DTSS_COLOROP)에 대해서만 지원됩니다.
-
D3DTOP_MODULATECOLOR_ADDALPHA
-
인수를 변조합니다. 그런 다음 첫 번째 인수의 알파를 추가합니다. 이 작업은 색 작업(D3DTSS_COLOROP)에 대해서만 지원됩니다.
-
D3DTOP_MODULATEINVALPHA_ADDCOLOR
-
D3DTOP_MODULATEALPHA_ADDCOLOR 유사하지만 첫 번째 인수의 알파 역을 사용합니다. 이 작업은 색 작업(D3DTSS_COLOROP)에 대해서만 지원됩니다.
-
D3DTOP_MODULATEINVCOLOR_ADDALPHA
-
D3DTOP_MODULATECOLOR_ADDALPHA 유사하지만 첫 번째 인수 색의 역방향을 사용합니다. 이 작업은 색 작업(D3DTSS_COLOROP)에 대해서만 지원됩니다.
-
D3DTOP_BUMPENVMAP
-
광도 없이 다음 텍스처 단계에서 환경 맵을 사용하여 픽셀당 범프 매핑을 수행합니다. 이 작업은 색 작업(D3DTSS_COLOROP)에 대해서만 지원됩니다.
-
D3DTOP_BUMPENVMAPLUMINANCE
-
다음 텍스처 단계의 환경 맵을 사용하여 광도를 사용하여 픽셀당 범프 매핑을 수행합니다. 이 작업은 색 작업(D3DTSS_COLOROP)에 대해서만 지원됩니다.
-
D3DTOP_DOTPRODUCT3
-
각 인수의 구성 요소를 서명된 구성 요소로 변조하고 제품을 추가합니다. 그런 다음 알파를 포함한 모든 색 채널에 합계를 복제합니다. 이 작업은 색 및 알파 작업에 지원됩니다.
DirectX 6 및 DirectX 7에서 위의 입력은 모두 부호 있는 데이터를 시뮬레이션하는 데 사용하기 전에 모두 절반(y = x - 0.5)으로 아래로 이동하고 스칼라 결과는 자동으로 양수 값으로 고정되고 세 개의 출력 채널 모두에 복제됩니다. 또한 색 작업으로 알파를 업데이트하지 않으므로 RGB 구성 요소만 업데이트합니다.
그러나 DirectX 8.1 셰이더에서 출력을 .rgb 또는 .a 구성 요소 또는 둘 다(기본값)로 라우팅하도록 지정할 수 있습니다. 알파 채널에서 별도의 스칼라 작업을 지정할 수도 있습니다.
-
D3DTOP_MULTIPLYADD
-
곱하기 누적 작업을 수행합니다. 마지막 두 인수를 가져와 함께 곱한 다음 나머지 입력/원본 인수에 추가하고 결과에 배치합니다.
SRGBA = Arg1 + Arg2 * Arg3
-
D3DTOP_LERP
-
두 번째 인수와 세 번째 소스 인수 사이에 선형적으로 첫 번째 소스 인수에 지정된 비율로 보간합니다.
SRGBA = (Arg1) * Arg2 + (1- Arg1) * Arg3.
-
D3DTOP_FORCE_DWORD
-
이 열거형을 강제로 32비트 크기로 컴파일합니다. 이 값이 없으면 일부 컴파일러에서 이 열거형을 32비트 이외의 크기로 컴파일할 수 있습니다. 이 값은 사용되지 않습니다.
설명
이 형식의 멤버는 IDirect3DDevice9::SetTextureStageState 메서드와 함께 D3DTSS_COLOROP 또는 D3DTSS_ALPHAOP 값을 사용하여 색 또는 알파 작업을 설정할 때 사용됩니다.
위의 수식에서 SRGBA 는 텍스처 작업에 의해 생성된 RGBA 색이며 Arg1, Arg2 및 Arg3은 텍스처 인수의 전체 RGBA 색을 나타냅니다. 인수의 개별 구성 요소는 아래 첨자로 표시됩니다. 예를 들어 인수 1의 알파 구성 요소는 Arg1A로 표시됩니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
추가 정보