DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 열거형 D3DTEXTUREOP [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
스테이지마다 텍스처 혼합 처리를 정의한다.
구문
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;
정수
- D3DTOP_DISABLE
이 텍스처 스테이지와 보다 높은 인덱스를 가지는 스테이지로부터의 출력을 모두 무효로 한다. 텍스처 맵핑을 무효로 하려면 , 이것을 최초의 텍스처 스테이지 (스테이지 0)의 컬러 처리로서 설정한다. 컬러 처리가 유효하게 되어 있을 때는, 알파 처리를 무효로 하는 것은 할 수 없다. 컬러 혼합이 유효한 경우, 알파 처리를 D3DTOP_DISABLE 로 설정 하면, 부정의 동작이 생긴다.
- D3DTOP_SELECTARG1
이 텍스처 스테이지의 최초의 색, 또는 알파 인수를 변경하지 않고 출력으로서 사용한다. 이 처리는, D3DTSS_COLOROP 텍스처 스테이지 스테이트로 사용 하면색인수에 영향을 주어 D3DTSS_ALPHAOP 로 사용했을 경우에는 알파 인수에 영향을 준다.
- D3DTOP_SELECTARG2
이 텍스처 스테이지의 2 번째의 색, 또는 알파 인수를 변경하지 않고 출력으로서 사용한다. 이 처리는, 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
제 1 인수의 성분으로부터, 대응하는 제 2 인수의 성분을 뺄셈 한다.
- D3DTOP_ADDSMOOTH
제 1 및 제 2 인수를 덧셈 해, 다음에 그 적을 합계로부터 뺄셈 한다.
- 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 인수의 알파를 사용해 제 2 인수의 색을 곱셈해, 그 결과를 제 1 인수에 덧셈 한다. 이 처리는, 컬러 처리 (D3DTSS_COLOROP)에서만 지원 된다.
- D3DTOP_MODULATECOLOR_ADDALPHA
인수를 곱셈해, 제 1 인수의 알파를 덧셈 한다. 이 처리는, 컬러 처리 (D3DTSS_COLOROP)에서만 지원 된다.
- D3DTOP_MODULATEINVALPHA_ADDCOLOR
D3DTOP_MODULATEALPHA_ADDCOLOR 에 유사하고 있지만, 제 1 인수의 알파의 1 의 보수를 사용한다. 이 처리는, 컬러 처리 (D3DTSS_COLOROP)에서만 지원 된다.
- D3DTOP_MODULATEINVCOLOR_ADDALPHA
D3DTOP_MODULATECOLOR_ADDALPHA 에 유사하고 있지만, 제 1 인수의 색의 1 의 보수를 사용한다. 이 처리는, 컬러 처리 (D3DTSS_COLOROP)에서만 지원 된다.
- D3DTOP_BUMPENVMAP
다음의 텍스처 스테이지의 환경 맵 (휘도(Luminance) 없음)에 의한, 픽셀 단위의 범프 맵핑을 실행한다. 이 처리는, 컬러 처리 (D3DTSS_COLOROP)에서만 지원 된다.
- D3DTOP_BUMPENVMAPLUMINANCE
다음의 텍스처 스테이지의 환경 맵 (휘도(Luminance) 있어)에 의한, 픽셀 단위의 범프 맵핑을 실행한다. 이 처리는, 컬러 처리 (D3DTSS_COLOROP)에서만 지원 된다.
- D3DTOP_DOTPRODUCT3
각 인수의 요소를 (부호부 요소로서) 곱셈해 적을 덧셈 해, 얻을 수 있던 합계값을 모든 컬러 채널에, 알파를 포함해 복제한다. 이 처리가 지원 되는 것은 컬러 처리와 알파 처리에 대해서이다.
Microsoft® DirectX® 6.0 및 DirectX 7.0 의 멀티 텍스처 처리에서는, 위의 입력은, 부호 첨부 데이터를 시뮬레이트 하기 위한(해), 사용하기 전에 모두 0.5 쉬프트 한다 (y = x - 0.5). 결과의 스칼라-는, 정의 값에 제한되어 3 개의 출력 채널 모두에게 복제된다. 또, 컬러 처리로서는, rgb 성분을 갱신한 알파를 갱신하지 않기 때문에 주의 해야 한다.
다만, DirectX 8.1 셰이더에서는, 출력을 . rgb 성분 또는 . a 성분, 혹은 그 양쪽 모두 (디폴트)에 루팅 하는 것을 지정할 수 있다. 알파 채널로 개별의 스칼라-처리의 지정도 가능하다.
- D3DTOP_MULTIPLYADD
적화연산을 실행한다. 마지막 2 개의 인수를 취해, 이것들을 곱셈해, 나머지의 입력/소스 인수에 덧셈 해, 이것을 결과에 배치한다.
SRGBA= Arg1 + Arg2 * Arg3
- D3DTOP_LERP
제 1 소스 인수로 지정된 비율로, 제 2 및 제 3 소스 인수의 사이를 선형 보간 한다.
SRGBA= (S>RGBAArg1) * Arg2 + (1- Arg1) * Arg3.
- D3DTOP_FORCE_DWORD
이 열거형을 강제적으로 32 비트 사이즈에 컴파일 한다. 이 값은 사용되지 않다.
주의
이 열거형의 멤버는, D3DTSS_COLOROP 또는 D3DTSS_ALPHAOP 값으로 IDirect3DDevice9::SetTextureStageState 메서드를 호출해 컬러 처리 또는 알파 처리를 설정할 때에 사용한다.
위에의식에서는, SRGBA 는 텍스처 처리로 생성 되는 RGBA 색, Arg1,Arg2, 및 Arg3 는 텍스처 인수의 완전 RGBA 색이다. 인수의 각각의 성분은, 첨자를 붙여 표기된다. 예를 들어, 인수 1 의 알파 성분은 Arg1A 로서 나타낸다.
열거형의 정보
헤더 d3d9types.h 최저한의 operating system Windows 98
참조
D3DTEXTURESTAGESTATETYPE