- D3DRS_ZENABLE
-
D3DZBUFFERTYPE 열거형의 1 개의 멤버로서의 깊이 버퍼링 스테이트. z 버퍼링을 유효하게 하려면 D3DZB_TRUE, w 버퍼링을 유효하게 하려면 D3DZB_USEW, 깊이 버퍼링을 무효로 하려면 D3DZB_FALSE 를 각각 설정한다.
D3DPRESENT_PARAMETERS 구조체의 EnableAutoDepthStencil 멤버에 TRUE 를 설정해 스텐실이 스왑 체인과 함께 생성 되고 있는 경우, 이 렌더링 스테이트의 디폴트값은 D3DZB_TRUE, 그렇지 않은 경우는 D3DZB_FALSE 이다.
- D3DRS_FILLMODE
-
D3DFILLMODE 열거형의 1 개 또는 복수의 멤버. 디폴트값은 D3DFILL_SOLID 이다.
- D3DRS_SHADEMODE
-
D3DSHADEMODE 열거형의 1 개 또는 복수의 멤버. 디폴트값은 D3DSHADE_GOURAUD 이다.
- D3DRS_ZWRITEENABLE
-
애플리케이션에 의한 깊이 버퍼에의 쓰기를 유효하게 하려면 , TRUE 를 설정한다. 디폴트값은 TRUE 이다. 애플리케이션은 이 멤버를 이용하는 것으로써, 시스템이 새로운 깊이값으로 깊이 버퍼를 갱신하는 것을 막을 수가 있다. FALSE 의 경우는, 렌더링 스테이트 D3DRS_ZFUNC (깊이 버퍼링을 하고 있으면 가정)에 따라 깊이 비교가 실행되지만, 깊이값은 버퍼에 기입해지지 않다.
- D3DRS_ALPHATESTENABLE
-
픽셀마다 알파 테스트를 유효하게 하려면 , TRUE 를 설정한다. 테스트가 성공하면 픽셀이 frame buffer에 의해 처리된다. 실패 하면, 그 픽셀의 모든 frame buffer 처리는 스킵 된다.
D3DRS_ALPHAFUNC 렌더링 스테이트에 의해 제공되는 비교 함수를 사용해, 들어 오는 알파값을 기준 알파값과 비교해 테스트를 실시한다. 기준 알파값은,D3DRS_ALPHAREF 의 설정값으로 정해진다. 더 자세한 정보는, 「알파 실험 스테이트」를 참조할것.
이 파라미터의 디폴트값은 FALSE 이다.
- D3DRS_LASTPIXEL
-
디폴트값은 TRUE 이며, 선으로 마지막 픽셀의 드로잉(Drawing)를 유효하게 한다. 마지막 픽셀을 드로잉(Drawing) 하지 않게 하려면 , 이 값을 FALSE 로 설정한다. 더 자세한 정보는, 「아우트라인 및 전부 칠해 스테이트」를 참조할것.
- D3DRS_SRCBLEND
-
D3DBLEND 열거형의 멤버중 하나이다. 디폴트값은 D3DBLEND_ONE 이다.
- D3DRS_DESTBLEND
-
D3DBLEND 열거형의 멤버중 하나이다. 디폴트값은 D3DBLEND_ZERO 이다.
- D3DRS_CULLMODE
-
뒷면의 삼각형을 컬링(Culling) 하는 경우에, 그방법을 지정한다. D3DCULL 열거형의 멤버의 어느쪽이든을 설정할 수 있다. 디폴트값은 D3DCULL_CCW 이다.
- D3DRS_ZFUNC
-
D3DCMPFUNC 열거형의 멤버중 하나이다. 디폴트값은 D3DCMP_LESSEQUAL 이다. 이 멤버는, 애플리케이션에카메라로부터의 거리를 기준으로 하는 픽셀의 수취나 받아 거부를 허가한다.
픽셀의 깊이값을 깊이 버퍼의 값과 비교한다. 픽셀의 깊이값이 비교 함수로 허가되었을 경우는, 픽셀이 써진다.
깊이값이 깊이 버퍼에 써넣어지는 것은, 렌더링 스테이트가 TRUE 의 경우 뿐이다.
이 깊이 테스트에 실패하는 쪽이, 소프트웨어에 의한 래스터화나 많은 하드웨어 가속기의 처리는 빨라진다. 이것은, 픽셀의 렌더링 처리를 실시하지 않는 경우에, 텍스처를 필터 처리하거나 곱셈하거나 할 필요가 없어지기 때문에 있다.
- D3DRS_ALPHAREF
-
알파 테스트가 유효하게 설정되어 있는 경우에, 픽셀을 테스트하기 위한 기준 알파값을 지정하는 값. 이것은,DWORD 렌더링 스테이트값의 하위 8 비트에 해당하는 8 비트값이다. 값은 0x00000000 에서 0x000000FF 의 범위내이다. 디폴트값은 0 이다.
- D3DRS_ALPHAFUNC
-
D3DCMPFUNC 열거형의 멤버중 하나이다. 디폴트값은, D3DCMP_ALWAYS 이다. 이 멤버는, 애플리케이션에 알파값을 기준으로 하는 픽셀의 수취나 받아 거부를 허가한다.
- D3DRS_DITHERENABLE
-
디더 링을 유효하게 하려면 , TRUE 를 설정한다. 디폴트값은 FALSE 이다.
- D3DRS_ALPHABLENDENABLE
-
알파 블렌드에 의한 투명화를 유효하게 하려면 , TRUE 를 설정한다. 디폴트값은 FALSE 이다.
알파 혼합의 타입은, D3DRS_SRCBLEND 와 D3DRS_DESTBLEND 의 렌더링 스테이트에 의해 정해진다.
- D3DRS_FOGENABLE
-
포그(안개:fog) 혼합을 유효하게 하려면 , TRUE 를 설정한다. 디폴트값은 FALSE 이다. 포그(안개:fog) 혼합의 사용법의 더 자세한 정보는, 「포그(안개:fog)」를 참조할것.
- D3DRS_SPECULARENABLE
-
스펙큐러 하이라이트를 유효하게 하려면 , TRUE 를 설정한다. 디폴트값은 FALSE 이다.
스펙큐러 하이라이트는, 빛이 맞고 있는 개체의 각 정점이 그 개체의 원점에 있는것 같이 산출된다. 이것에 의해, 개체가 원점의 주위로 모델화 되어 광원과 개체간의 거리가 비교적 큰 경우에 한정해, 결과를 예측할 수가 있다. 그 이외의 경우, 결과는 부정이다.
이 멤버에 TRUE 를 설정 하면, 텍스처 cascade 후, 알파 혼합전에, 베이스 컬러에 스펙큐러색이 추가된다.
- D3DRS_FOGCOLOR
-
D3DCOLOR 형의 값. 디폴트값은 0 이다. 포그(안개:fog) 컬러의 더 자세한 정보는, 「포그(안개:fog)색」을 참조할것.
- D3DRS_FOGTABLEMODE
-
픽셀 포그(안개:fog)에 사용되는 포그(안개:fog)식. D3DFOGMODE 열거형의 멤버의 어느쪽이든을 설정한다. 디폴트값은 D3DFOG_NONE 이다. 픽셀 포그(안개:fog)의 더 자세한 정보는, 「픽셀 포그(안개:fog)」를 참조할것.
- D3DRS_FOGSTART
-
선형 포그(안개:fog) 모드로, 픽셀 또는 정점 포그(안개:fog) 이펙트가 시작 하는 깊이. 디폴트값은 0.0f 이다. 깊이는, 정점 포그(안개:fog)의 경우는 월드 공간에서, 픽셀 포그(안개:fog)의 경우는 장치 공간 [0.0, 1.0] 또는 월드 공간의 어느쪽이든으로 지정한다. 픽셀 포그(안개:fog)에서는, 포그(안개:fog) 계산에 z 를 사용하는 경우, 이러한 값은 장치 공간에 있어, 시점과의 상대 포그(안개:fog) (w 포그(안개:fog))를 사용하는 경우는 월드 공간에 있다. 더 자세한 정보는, 「포그(안개:fog) 파라미터」 및 「시점으로부터의 상대 깊이대 Z 베이스의 깊이」를 참조할것.
이 렌더링 스테이트의 값은 부동 소수점값이다. IDirect3DDevice9::SetRenderState 메서드는 DWORD 값을 사용하기 (위해)때문에, 다음 코드에 나타나듯이 애플리케이션에서는 값을 저장 한 변수를 캐스트 해야 한다.
pDevice9->SetRenderState(D3DRS_FOGSTART, *((DWORD*) (&fFogStart)));
- D3DRS_FOGEND
-
선형 포그(안개:fog) 모드로, 픽셀 또는 정점 포그(안개:fog) 이펙트가 종료하는 깊이. 디폴트값은 1.0f 이다. 깊이는, 정점 포그(안개:fog)의 경우는 월드 공간에서, 픽셀 포그(안개:fog)의 경우는 장치 공간 [0.0, 1.0] 또는 월드 공간의 어느쪽이든으로 지정한다. 픽셀 포그(안개:fog)에서는, 포그(안개:fog) 계산에 z 를 사용하는 경우, 이러한 값은 장치 공간에 있어, 시점과의 상대 포그(안개:fog) (w 포그(안개:fog))를 사용하는 경우는 월드 공간에 있다. 더 자세한 정보는, 「포그(안개:fog) 파라미터」 및 「시점으로부터의 상대 깊이대 Z 베이스의 깊이」를 참조할것.
이 렌더링 스테이트의 값은 부동 소수점값이다.IDirect3DDevice9::SetRenderState 메서드는 DWORD 값을 사용하기 (위해)때문에, 다음 코드에 나타나듯이 애플리케이션에서는 값을 저장 한 변수를 캐스트 해야 한다.
pDevice9->SetRenderState(D3DRS_FOGEND, *((DWORD*) (&fFogEnd)));
- D3DRS_FOGDENSITY
-
지수 포그(안개:fog) 모드 (D3DFOG_EXP 및 D3DFOG_EXP2)로 사용하는 픽셀 또는 정점 포그(안개:fog)의 포그(안개:fog) 밀도. 유효한 밀도의 값은 0.0 에서 1.0 의 범위내이다. 디폴트값은 1.0 이다. 더 자세한 정보는, 「포그(안개:fog) 파라미터」를 참조할것.
이 렌더링 스테이트의 값은 부동 소수점값이다.IDirect3DDevice9::SetRenderState 메서드는 DWORD 값을 사용하기 (위해)때문에, 다음 코드에 나타나듯이 애플리케이션에서는 값을 저장 한 변수를 캐스트 해야 한다.
pDevice9->SetRenderState(D3DRS_FOGDENSITY, *((DWORD*) (&fFogDensity)));
- D3DRS_RANGEFOGENABLE
-
범위 베이스의 정점 포그(안개:fog)를 유효하게 하려면 , TRUE 를 설정한다. 디폴트값은 FALSE 로, 시스템은 깊이 베이스의 포그(안개:fog)를 사용한다. 범위 베이스의 포그(안개:fog)에서는, 장면(scene)에 있어서의 개체의 깊이 (z 좌표)는 아니고, 뷰어로부터의 개체의 거리로 포그(안개:fog) 이펙트를 계산한다. 범위 베이스의 포그(안개:fog)에서는, 보통의 모든 포그(안개:fog) 메서드가 기능하지만, 깊이는 아니고 범위를 사용해 계산을 실시하는 점만이 다르다.
범위는 포그(안개:fog) 계산에 사용하는 적절한 요소이지만, 범위는 계산에 시간이 걸려, 깊이는 보통 계산이 끝난 상태이므로, 대신에 깊이가 넓게 사용된다. 깊이를 사용해 포그(안개:fog)를 계산 하면, 주변 개체의 포그(안개:fog) 이펙트가 시점의 이동과 함께 변화 하면 말하는 바람직하지 않은 영향이 나온다. 이 경우, 깊이는 변화하지만 범위는 일정한 까지 있다.
현재로서는, 픽셀 단위의 범위 베이스의 포그(안개:fog)를 지원 하는 하드웨어는 존재하지 않기 때문에, 범위 보정은 정점 포그(안개:fog)에서만 행해진다.
더 자세한 정보는, 「정점 포그(안개:fog)」를 참조할것.
- D3DRS_STENCILENABLE
-
스텐실 처리를 유효하게 하려면 TRUE 를 설정해, 스텐실 처리를 무효로 하려면 FALSE 를 설정한다. 디폴트값은 FALSE 이다.
더 자세한 정보는, 「스텐실 버퍼 테크닉」을 참조할것.
- D3DRS_STENCILFAIL
-
스텐실 테스트에 실패했을 때에 실행하는 스텐실 처리. 이것에는 D3DSTENCILCAPS 의 몇개의 정수를 설정할 수 있다. 디폴트값은 D3DSTENCILOP_KEEP 이다.
더 자세한 정보는, 「스텐실 버퍼 테크닉」을 참조할것.
- D3DRS_STENCILZFAIL
-
스텐실 테스트에 패스해, 깊이 테스트 (Z 테스트)에 실패했을 경우에 실행하는 스텐실 처리. 이것에는 D3DSTENCILCAPS 의 몇개의 정수를 설정할 수 있다. 디폴트값은 D3DSTENCILOP_KEEP 이다.
- D3DRS_STENCILPASS
-
스텐실 테스트 및 깊이 (Z) 테스트의 양쪽 모두에 패스했을 경우에 실행하는 스텐실 처리. 이것에는 D3DSTENCILCAPS 의 몇개의 정수를 설정할 수 있다. 디폴트값은 D3DSTENCILOP_KEEP 이다.
- D3DRS_STENCILFUNC
-
스텐실 테스트를 위한 비교 함수. 이것에는 D3DCMPFUNC 열거형의 멤버의 어느쪽이든을 설정할 수 있다. 디폴트값은, D3DCMP_ALWAYS 이다.
비교 함수는, 스텐실 버퍼의 요소를 기준치와 비교하기 위해서(때문에) 사용된다. 이 비교는, 기준치의 비트, 및 스텐실 마스크 (D3DRS_STENCILMASK 렌더링 스테이트에 의해 설정)로 설정된 스텐실 버퍼 요소에만 적용된다. TRUE 의 경우는, 스텐실 테스트에 패스한다.
- D3DRS_STENCILREF
-
스텐실 테스트를 위한 int 기준치. 디폴트값은 0 이다.
- D3DRS_STENCILMASK
-
기준치 및 각 스텐실 버퍼 요소에 적용해, 스텐실 테스트를 위한 유효 비트를 결정하는 마스크. 디폴트 마스크는 0xFFFFFFFF 이다.
- D3DRS_STENCILWRITEMASK
-
스텐실 버퍼에 기입하는 값에 적용하는 쓰기 마스크. 디폴트 마스크는 0xFFFFFFFF 이다.
- D3DRS_TEXTUREFACTOR
-
D3DTA_TFACTOR 텍스처 혼합 인수 또는 D3DTOP_BLENDFACTORALPHA 텍스처 혼합 처리에 의한 멀티 텍스처 혼합으로 사용되는 색. 관련하는 값은 D3DCOLOR 변수이다. 디폴트값은 불투명의 흰색 (0xFFFFFFFF)이다.
- D3DRS_WRAP0
-
복수의 텍스처 좌표 세트에 대한 텍스처 랩핑 동작. 이 렌더링 스테이트의 유효값으로 D3DWRAPCOORD_0 (또는 D3DWRAP_U), D3DWRAPCOORD_1 (또는 D3DWRAP_V), D3DWRAPCOORD_2 (또는 D3DWRAP_W), 및 D3DWRAPCOORD_3 의 각 플래그를 조합할 수가 있다. 이러한 값을 설정 하면, 지정된 텍스처에 대해서 1, 2, 3, 및 4 차원 방향 (s, t, r, 및 q 방향으로 불리는 경우도 있다)의 랩핑이 실행된다. 이 렌더링 스테이트의 디폴트값은 0 이다 (전방향의 랩핑이 무효).
- D3DRS_WRAP1
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP2
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP3
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP4
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP5
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP6
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP7
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_CLIPPING
-
Microsoft® Direct3D® 에 의한 기본도형의 클리핑을 유효하게 하려면 TRUE, 무효로 하려면 FALSE 를 설정한다. 디폴트값은 TRUE 이다.
- D3DRS_LIGHTING
-
Direct3D 의 조명을 유효하게 하려면 TRUE, 무효로 하려면 FALSE 를 설정한다. 디폴트값은 TRUE 이다. 정점 법선을 포함한 정점만 올바르게 라이트가 댈 수 있어 법선을 포함하지 않는 정점에서는 모든 조명 계산으로 0 의 내적이 사용된다.
- D3DRS_AMBIENT
-
앰비언트 라이트의 색. 이 값은 D3DCOLOR 형이다. 디폴트값은 0 이다.
- D3DRS_FOGVERTEXMODE
-
정점 포그(안개:fog)로 사용되는 포그(안개:fog)식. D3DFOGMODE 열거형의 멤버의 어느쪽이든을 설정한다. 디폴트값은 D3DFOG_NONE 이다.
- D3DRS_COLORVERTEX
-
정점 단위의 색을 유효하게 하려면 TRUE, 무효로 하려면 FALSE 를 설정한다. 디폴트값은 TRUE 이다. 정점 단위의 색을 유효하게 하면, 각 정점에 정의된 색을 조명 계산으로 사용할 수 있다.
더 자세한 정보는, 이하의 렌더링 스테이트를 참조할것.
- D3DRS_LOCALVIEWER
-
카메라와의 상대 각도에 의존한 스펙큐러 하이라이트를 유효하게 하려면 TRUE 를 설정해, 정스펙큐러 하이라이트를 사용하려면 FALSE 를 설정한다. 디폴트값은 TRUE 이다. 정사영을 사용하는 애플리케이션에서는 FALSE 를 설정하는 것.
- D3DRS_NORMALIZENORMALS
-
정점 법선의 자동 정규화를 유효하게 하려면 TRUE, 무효로 하려면 FALSE 를 설정한다. 디폴트값은 FALSE 이다. 이 기능을 유효하게 하면, 정점이 카메라 공간에 변환 된 다음에 정점 법선이 정규화되지만, 계산에 시간이 걸린다.
- D3DRS_DIFFUSEMATERIALSOURCE
-
조명 계산에 사용되는 디퓨즈색의 소스. 유효한 값은,D3DMATERIALCOLORSOURCE열거형의 멤버이다. 디폴트값은 D3DMCS_COLOR1 이다. 이 렌더링 스테이트의 값이 사용되는 것은, D3DRS_COLORVERTEX 렌더링 스테이트가 TRUE 로 설정되어 있는 경우 뿐이다.
- D3DRS_SPECULARMATERIALSOURCE
-
조명 계산에 사용되는 스펙큐러색의 소스. 유효한 값은,D3DMATERIALCOLORSOURCE열거형의 멤버이다. 디폴트값은 D3DMCS_COLOR2 이다.
- D3DRS_AMBIENTMATERIALSOURCE
-
조명 계산에 사용되는 앰비언트색의 소스. 유효한 값은,D3DMATERIALCOLORSOURCE열거형의 멤버이다. 디폴트값은 D3DMCS_MATERIAL 이다.
- D3DRS_EMISSIVEMATERIALSOURCE
-
조명 계산에 사용되는 에미션(emission)색의 소스. 유효한 값은,D3DMATERIALCOLORSOURCE 열거형의 멤버이다. 디폴트값은 D3DMCS_MATERIAL 이다.
- D3DRS_VERTEXBLEND
-
지오메트리가 있는 경우, 지오메트리 혼합을 실행하기 위해서 사용하는 행렬의 개수. 유효한 값은,D3DVERTEXBLENDFLAGS 열거형의 멤버이다. 디폴트값은 D3DVBF_DISABLE 이다.
- D3DRS_CLIPPLANEENABLE
-
사용자 정의의 클립면을 유효 또는 무효로 한다. 유효한 값은, 각 비트의 스테이터스 (설정의 유무)에 의해 대응하는 사용자 정의 클립면을 액티브하게 하는 스테이트를 바꾸는, 임의의 DWORD 이다. 최하정도 비트 (비트 0)는 인덱스 0 의 최초의 클립면을 제어해, 후속 비트는 그것보다 상위의 인덱스의 클립면을 액티브하게 하는 것을 제어한다. 비트가 설정되어 있는 경우, 장면(scene)의 렌더링중에 적절한 클립면이 적용된다. 디폴트값은 0 이다.
클립면을 간단하게 유효하게 할 수 있도록(듯이) D3DCLIPPLANEn 매크로가 정의되고 있다.
- D3DRS_POINTSIZE
-
각 정점에 대해서 포인트 사이즈가 지정되지 않은 경우에, 포인트 사이즈 계산으로 사용하는 사이즈를 지정하는 float 값. 정점이 포인트 사이즈를 포함하고 있는 경우, 이 값은 사용되지 않는다. 이 값은, D3DRS_POINTSCALEENABLE 가 FALSE 의 경우는 스크린 공간 단위로 지정한다. 그 이외의 경우는, 월드 공간 단위로 지정한다. 디폴트값은 1.0f 이다. 이 값의 범위는, 0.0f 이상이다. IDirect3DDevice9::SetRenderState 메서드는DWORD 값을 사용하기 (위해)때문에, 다음 코드에 나타나듯이 애플리케이션에서는 값을 저장 한 변수를 캐스트 해야 한다.
pDevice9->SetRenderState(D3DRS_POINTSIZE, *((DWORD*) &PointSize));
- D3DRS_POINTSIZE_MIN
-
포인트 기본도형의 최소 사이즈를 지정하는 float 값. 렌더링의 사이, 포인트 기본도형는 이 사이즈에 고정된다. 1.0 보다 작은 값을 설정 하면, 포인트에 픽셀의 중심이 포함되지 않고 anti-aliasing가 무효가 되어 있는 경우는 포인트가 표시되지 않게 되어, anti-aliasing가 유효하게 되어 있는 경우는 낮은 휘도(Luminance)로 렌더링 된다. 디폴트값은 1.0f 이다. 이 값의 범위는, 0.0f 이상이다. IDirect3DDevice9::SetRenderState메서드는 DWORD 값을 사용하기 (위해)때문에, 다음 코드에 나타나듯이 애플리케이션에서는 값을 저장 한 변수를 캐스트 해야 한다.
pDevice9->SetRenderState(D3DRS_POINTSIZE_MIN, *((DWORD*) &PointSizeMin));
- D3DRS_POINTSPRITEENABLE
-
BOOL 값. TRUE 를 설정 하면, 텍스처 전체가 각 포인트에 맵핑 되도록(듯이), 포인트 기본도형의 텍스처 좌표가 설정된다. FALSE 를 설정 하면, 정점의 텍스처 좌표가 포인트 전체에 대해서 사용된다. 디폴트값은 FALSE 이다. D3DRS_POINTSCALEENABLE 에 FALSE (디폴트값)를 설정해, D3DRS_POINTSIZE 에 1.0 (디폴트값)을 설정하는 것으로, Microsoft DirectX® 7.0 스타일의 1 픽셀의 포인트를 실현할 수 있다.
- D3DRS_POINTSCALEENABLE
-
포인트 기본도형에 대한 사이즈의 계산을 제어하는 BOOL 값. TRUE 를 설정 하면, 포인트 사이즈를 카메라 공간의 값으로 해석해, 거리 함수 및 절두체에 의해 뷰포트의 y 축의 스케일에 맞추어 조정해, 최종적인 스크린 공간의 포인트 사이즈를 계산한다. FALSE 를 설정 하면, 포인트 사이즈는 스크린 공간의 값이라고 해석되어, 그대로 사용된다. 디폴트값은 FALSE 이다.
- D3DRS_POINTSCALE_A
-
포인트 기본도형에 대한 거리 베이스의 사이즈의 감쇠를 제어하는 float 값. D3DRS_POINTSCALEENABLE 가 TRUE 의 경우에만 유효하다. 디폴트값은 1.0f 이다. 이 값의 범위는, 0.0f 이상이다. IDirect3DDevice9::SetRenderState 메서드는DWORD 값을 사용하기 (위해)때문에, 다음 코드에 나타나듯이 애플리케이션에서는 값을 저장 한 변수를 캐스트 해야 한다.
pDevice9->SetRenderState(D3DRS_POINTSCALE_A, *((DWORD*) &PointScaleA));
- D3DRS_POINTSCALE_B
-
포인트 기본도형에 대한 거리 베이스의 사이즈의 감쇠를 제어하는 float 값. D3DRS_POINTSCALEENABLE 가 TRUE 의 경우에만 유효하다. 디폴트값은 0.0f 이다. 이 값의 범위는, 0.0f 이상이다. IDirect3DDevice9::SetRenderState 메서드는DWORD 값을 사용하기 (위해)때문에, 다음 코드에 나타나듯이 애플리케이션에서는 값을 저장 한 변수를 캐스트 해야 한다.
pDevice9->SetRenderState(D3DRS_POINTSCALE_B, *((DWORD*) &PointScaleB));
- D3DRS_POINTSCALE_C
-
포인트 기본도형에 대한 거리 베이스의 사이즈의 감쇠를 제어하는 float 값. D3DRS_POINTSCALEENABLE 가 TRUE 의 경우에만 유효하다. 디폴트값은 0.0f 이다. 이 값의 범위는, 0.0f 이상이다. IDirect3DDevice9::SetRenderState 메서드는DWORD 값을 사용하기 (위해)때문에, 다음 코드에 나타나듯이 애플리케이션에서는 값을 저장 한 변수를 캐스트 해야 한다.
pDevice9->SetRenderState(D3DRS_POINTSCALE_C, *((DWORD*) &PointScaleC));
- D3DRS_MULTISAMPLEANTIALIAS
-
멀티 샘플 렌더링의 타겟 버퍼를 사용할 때의, 각각의 샘플의 계산방법을 결정하는BOOL 값. TRUE 를 설정 하면, 복수 샘플의 각각 붙어 다른 샘플링 위치에서 샘플링 하는 것으로 풀 신 anti-aliasing를 실행하도록(듯이), 복수의 샘플이 계산된다. FALSE 의 경우는, 복수의 샘플은 모두 같은 샘플링값 (픽셀의 중심으로 샘플링 된 값)으로 기술되어, 멀티 샘플 버퍼에 대한 비anti-aliasing 렌더링이 가능하게 된다. 싱글 샘플 버퍼에의 렌더링시, 이 렌더링 스테이트는 이펙트를 가지지 않는다. 디폴트값은 TRUE 이다.
- D3DRS_MULTISAMPLEMASK
-
최하정도 비트 (LSB)를 선두로 하는 이 마스크의 각 비트는, 멀티 샘플 렌더링 타겟의 1 개의 샘플에 대한 변경을 제어한다. 따라서, 8 샘플의 렌더링 타겟의 경우는, 8 개의 샘플의 각각 대하는 8 개의 쓰기 허가 정보가, 하위 바이트에 저장 되고 있다. 싱글 샘플 버퍼에의 렌더링시, 이 렌더링 스테이트는 이펙트를 가지지 않는다. 디폴트값은 0xFFFFFFFF 이다.
이 렌더링 스테이트를 사용하면 멀티 샘플 버퍼를 축적 버퍼로서 사용해, 각 패스가 샘플의 서브 세트를 갱신하는 것 같은 지오메트리의 멀티 패스 렌더링을 실시할 수가 있다.
이 렌더링 스테이트는,D3DCAPS9 구조체의 D3DPRASTERCAPS_STRETCHBLTMULTISAMPLE 멤버가 유효하게 되어 있는 경우는 지원 되지 않는다.
멀티 샘플수가 n, 유효 샘플수가 k 인 경우, 이미지는 k/n 의 휘도(Luminance)로 렌더링 된다. 각 픽셀의 각 성분 RGB 는,k/n 를 계수에 갖는다.
- D3DRS_PATCHEDGESTYLE
-
패치 엣지가 부동 소수점수(실수) 스타일의 테설레이션을 사용할지 어떨지를 설정한다. 설정 가능한 값은,D3DPATCHEDGESTYLE 열거형으로 정의된다. 디폴트값은 D3DPATCHEDGE_DISCRETE 이다.
- D3DRS_DEBUGMONITORTOKEN
-
모니터를 디버그 하는 경우에만 설정한다. 설정 가능한 값은,D3DDEBUGMONITORTOKENS 열거형으로 정의된다. D3DRS_DEBUGMONITORTOKEN 가 설정되어 있는 경우, 이 호출은 디버그 모니터에의 토큰의 수수로서 처리되는 것에 주의 해야 한다. 예를 들어, D3DDMT_ENABLE 또는 D3DDMT_DISABLE 을 D3DRS_DEBUGMONITORTOKEN 에 건네준 후, 다른 토큰의 값이 건네받았을 경우, 디버그 모니터의 스테이트 (유효 또는 무효)는 변화하지 않는다.
이 스테이트는, 디버그 빌드에서만 유용하다. 디버그 모니터의 디폴트는 D3DDMT_ENABLE 이다.
- D3DRS_POINTSIZE_MAX
-
포인트 스프라이트가 제한되는 최대 사이즈를 지정하는 float 값. 값은,D3DCAPS9 의MaxPointSize 멤버 이하로,D3DRS_POINTSIZE_MIN 이상이 아니면 안된다. 디폴트값은 64.0f 이다. IDirect3DDevice9::SetRenderState 메서드는 DWORD 값을 사용하기 (위해)때문에, 다음 코드에 나타나듯이 애플리케이션에서는 값을 저장 한 변수를 캐스트 해야 한다.
pDevice9->SetRenderState(D3DRS_PONTSIZE_MAX, *((DWORD*) &PointSizeMax));
- D3DRS_INDEXEDVERTEXBLENDENABLE
-
인덱스 첨부의 정점 혼합을 유효 또는 무효로 하는 BOOL 값. 디폴트값은 FALSE 이다. TRUE 를 설정 하면, 인덱스 첨부 정점 혼합이 유효하게 된다. FALSE 를 설정 하면, 인덱스 첨부 정점 혼합은 무효가 된다. 이 렌더링 스테이트가 유효한 경우는, 정점 마다 팩 된 DWORD 로 행렬 인덱스를 건네주지 않으면 안 된다. 이 렌더링 스테이트를 무효로 해, D3DRS_VERTEXBLEND 스테이트를 사용해 정점 혼합을 유효하게 하는 것은, 모든 정점에 대해 행렬 인덱스 0, 1, 2, 3 을 지정하는 것과 같다.
- D3DRS_COLORWRITEENABLE
-
렌더링 타겟의 컬러 버퍼에 대한 채널마다 쓰기를 유효하게 하는 UINT 값. 비트를 설정 하면, 3D 렌더링의 사이에 컬러 채널이 갱신된다. 비트를 클리어 하면, 컬러 채널은 갱신되지 않는다. 이 기능은, 장치에 대한 D3DCAPS9 구조체의 PrimitiveMiscCaps 멤버로 D3DPMISCCAPS_COLORWRITEENABLE 능력 비트가 설정되어 있는 경우에 이용할 수 있다. 이 렌더링 스테이트는, 클리어 처리에는 영향을 주지 않는다. 디폴트값은 0x0000000F 이다.
이 렌더링 스테이트에 대한 유효한 값은, D3DCOLORWRITEENABLE_ALPHA, D3DCOLORWRITEENABLE_BLUE, D3DCOLORWRITEENABLE_GREEN, 및 D3DCOLORWRITEENABLE_RED 의 각 플래그의 임의의 편성이다.
- D3DRS_TWEENFACTOR
-
트인 계수를 제어하는 float 값. 디폴트값은 0.0f 이다.IDirect3DDevice9::SetRenderState 메서드는 DWORD 값을 사용하기 (위해)때문에, 다음 코드에 나타나듯이 애플리케이션에서는 값을 저장 한 변수를 캐스트 해야 한다.
pDevice9->SetRenderState(D3DRS_TWEENFACTOR, *((DWORD*) &TweenFactor));
- D3DRS_BLENDOP
-
알파 혼합 렌더링 스테이트의 D3DRS_ALPHABLENDENABLE 가 TRUE 로 설정되어 있는 경우에 적용하는 산술 연산의 선택에 사용되는 값. 유효한 값은,D3DBLENDOP 열거형으로 정의된다. 디폴트값은 D3DBLENDOP_ADD 이다.
D3DPMISCCAPS_BLENDOP 장치 능력이 지원되지 않은 경우는, D3DBLENDOP_ADD 가 실행된다.
- D3DRS_POSITIONDEGREE
-
N 패치 위치 보간 차수. 이 값에는 D3DDEGREE_CUBIC (디폴트) 또는 D3DDEGREE_LINEAR 를 설정할 수 있다. 더 자세한 정보는, 「D3DDEGREETYPE 」를 참조할것.
- D3DRS_NORMALDEGREE
-
N 패치 법선 보간 차수. 이 값에는 D3DDEGREE_LINEAR (디폴트) 또는 D3DDEGREE_QUADRATIC 를 설정할 수 있다. 더 자세한 정보는, 「D3DDEGREETYPE」를 참조할것.
- D3DRS_SCISSORTESTENABLE
-
시저 테스트를 유효하게 하려면 TRUE, 무효로 하려면 FALSE 를 설정한다. 디폴트값은 FALSE 이다.
- D3DRS_SLOPESCALEDEPTHBIAS
-
z 화이팅을 줄이기 위해서(때문에), 동일 평면상의 원시적으로 얼마나 바이어스를 적용할까를 결정하는데 사용한다. 디폴트값은 0 이다.
bias = (max * D3DRS_SLOPESCALEDEPTHBIAS ) + D3DRS_DEPTHBIAS
여기서, max 는 렌더링 하는 삼각형의 최대 깊이 구배.
- D3DRS_ANTIALIASEDLINEENABLE
-
선의 anti-aliasing를 유효하게 하는 경우는 TRUE, 무효로 하는 경우는 FALSE 를 설정한다. 디폴트값은 FALSE 이다.
멀티 샘플 렌더링 타겟을 렌더링 하는 경우, D3DRS_ANTIALIASEDLINEENABLE 는 무시되어 모든 선이 깔쭉깔쭉하게 렌더링 된다. 멀티 샘플 렌더링 타겟으로 라인의 anti-aliasing를 유효하게 하려면 ,ID3DXLine 를 사용한다.
- D3DRS_MINTESSELLATIONLEVEL
-
테설레이션의 최소 레벨. 디폴트값은 1.0f 이다. 「테설레이션」을 참조할것.
- D3DRS_MAXTESSELLATIONLEVEL
-
테설레이션의 최대 레벨. 디폴트값은 1.0f 이다. 「테설레이션」을 참조할것.
- D3DRS_ADAPTIVETESS_X
-
적응형 테설레이션의 양 (x 축방향). 디폴트값은 0.0f 이다. 「테설레이션」을 참조할것.
- D3DRS_ADAPTIVETESS_Y
-
적응형 테설레이션의 양 (y 축방향). 디폴트값은 0.0f 이다. 「테설레이션」을 참조할것.
- D3DRS_ADAPTIVETESS_Z
-
적응형 테설레이션의 양 (z 축방향). 디폴트값은 1.0f 이다. 「테설레이션」을 참조할것.
- D3DRS_ADAPTIVETESS_W
-
적응형 테설레이션의 양 (w 축방향). 디폴트값은 0.0f 이다. 「테설레이션」을 참조할것.
- D3DRS_ENABLEADAPTIVETESSELATION
-
적응형 테설레이션을 유효하게 하려면 TRUE, 무효로 하려면 FALSE 를 설정한다. 디폴트값은 FALSE 이다. 「테설레이션」을 참조할것.
- D3DRS_TWOSIDEDSTENCILMODE
-
2 면의 스텐실을 유효하게 하려면 TRUE, 무효로 하려면 FALSE 를 설정한다. 디폴트값은 FALSE 이다. 애플리케이션에서는, 2 면의 스텐실 모드를 유효하게 하려면 D3DRS_CULLMODE 를 D3DCULL_NONE 로 설정할 필요가 있다. 삼각형의 와인딘그 순서가 시계회전인 경우는, D3DRS_STENCIL* 의 조작이 사용된다. 와인딘그 순서가 반시계 주위인 경우는, D3DRS_CCW_STENCIL* 의 조작이 사용된다.
2 면의 스텐실이 지원 되고 있는지를 확인하려면 , D3DSTENCILCAPS_TWOSIDED 의D3DCAPS9 의 StencilCaps 멤버를 조사한다. 「D3DSTENCILCAPS 」도 참조할것.
- D3DRS_CCW_STENCILFAIL
-
반시계회전의 스텐실 테스트에 실패했을 때에 실행하는 스텐실 처리. 디폴트값은 0x00000001 이다.
- D3DRS_CCW_STENCILZFAIL
-
반시계회전의 스텐실 테스트에 패스해, Z 테스트에 실패했을 경우에 실행하는 스텐실 처리. 디폴트값은 0x00000001 이다.
- D3DRS_CCW_STENCILPASS
-
반시계회전의 스텐실 테스트 및 Z 테스트의 양쪽 모두에 패스했을 경우에 실행하는 스텐실 처리. 디폴트값은 0x00000001 이다.
- D3DRS_CCW_STENCILFUNC
-
비교 함수. 반시계회전의 스텐실 테스트에 패스하는 것은, ((ref & mask) 스텐실 함수 (stencil & mask))가 TRUE 의 경우이다. 디폴트값은 0x00000008 이다.
- D3DRS_COLORWRITEENABLE1
-
장치에 대한 추가의 ColorWriteEnable 의 값. 「D3DRS_COLORWRITEENABLE 」를 참조할것. 이 기능은, 장치에 대한 D3DCAPS9 구조체의 PrimitiveMiscCaps 멤버로 D3DPMISCCAPS_INDEPENDENTWRITEMASKS 능력 비트가 설정되어 있는 경우에 이용할 수 있다. 디폴트값은 0x0000000f 이다.
- D3DRS_COLORWRITEENABLE2
-
장치에 대한 추가의 ColorWriteEnable 의 값. 「D3DRS_COLORWRITEENABLE 」를 참조할것. 이 기능은, 장치에 대한 D3DCAPS9 구조체의 PrimitiveMiscCaps 멤버로 D3DPMISCCAPS_INDEPENDENTWRITEMASKS 능력 비트가 설정되어 있는 경우에 이용할 수 있다. 디폴트값은 0x0000000f 이다.
- D3DRS_COLORWRITEENABLE3
-
장치에 대한 추가의 ColorWriteEnable 의 값. 「D3DRS_COLORWRITEENABLE 」를 참조할것. 이 기능은, 장치에 대한 D3DCAPS9 구조체의 PrimitiveMiscCaps 멤버로 D3DPMISCCAPS_INDEPENDENTWRITEMASKS 능력 비트가 설정되어 있는 경우에 이용할 수 있다. 디폴트값은 0x0000000f 이다.
- D3DRS_BLENDFACTOR
-
알파 혼합 처리동안에 정수 혼합 계수에 사용하는 D3DCOLOR . 이 기능은,D3DCAPS9의 SrcBlendCaps 멤버, 또는 D3DCAPS9 의 DestBlendCaps 멤버로 D3DPBLENDCAPS_BLENDFACTOR 능력 플래그가 설정되어 있는 경우에 이용할 수 있다. 「D3DRENDERSTATETYPE」를 참조할것. 디폴트값은 0xffffffff 이다.
- D3DRS_SRGBWRITEENABLE
-
렌더링 타겟에의 쓰기로, sRGB 에의 감마 보정을 유효하게 한다. 포맷에서는,D3DUSAGE_SRGBWRITE 를 공개할 필요가 있다. 디폴트값은 0 이다.
- D3DRS_DEPTHBIAS
-
깊이값의 비교에 사용하는 부동 소수점값. 「깊이 바이어스」를 참조할것. 디폴트값은 0 이다.
- D3DRS_WRAP8
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP9
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP10
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP11
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP12
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP13
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP14
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_WRAP15
-
「D3DRS_WRAP0 」를 참조할것.
- D3DRS_SEPARATEALPHABLENDENABLE
-
TRUE 를 설정 하면, 알파 채널에 대한 개별의 혼합 모드가 유효하게 된다. 디폴트값은 FALSE 이다.
FALSE 를 설정 하면, 알파에 적용하는 렌더링 타겟의 혼합 계수와 혼합 처리는, 강제적으로, 색에 대해서 정의한 것 것과 같은 것이 된다. D3DPMISCCAPS_SEPARATEALPHABLEND 능력을 설정하지 않는 처리에서는, 이 모드가 실질적으로 FALSE 에 고정된다. 「D3DPMISCCAPS 」를 참조할것.
개별의 알파 혼합의 타입은, D3DRS_SRCBLENDALPHA 와 D3DRS_DESTBLENDALPHA 의 렌더링 스테이트에 의해 정해진다.
- D3DRS_SRCBLENDALPHA
-
D3DBLEND 열거형의 멤버중 하나이다. D3DRS_SEPARATEALPHAENABLE 가 TRUE 가 아닌 경우, 이 값은 무시된다. 디폴트값은 D3DBLEND_ONE 이다.
- D3DRS_DESTBLENDALPHA
-
D3DBLEND 열거형의 멤버중 하나이다. D3DRS_SEPARATEALPHAENABLE 가 TRUE 가 아닌 경우, 이 값은 무시된다. 디폴트값은 D3DBLEND_ZERO 이다.
- D3DRS_BLENDOPALPHA
-
렌더링 스테이트의 D3DRS_ALPHABLENDENABLE 가 TRUE 로 설정되어 있는 경우에, 개별의 알파 혼합에 적용하는 산술 연산의 선택에 사용하는 값.
유효한 값은,D3DBLENDOP 열거형으로 정의된다. 디폴트값은 D3DBLENDOP_ADD 이다.
D3DPMISCCAPS_BLENDOP 장치 능력이 지원되지 않은 경우는, D3DBLENDOP_ADD 가 실행된다. 「D3DPMISCCAPS 」를 참조할것.
- D3DRS_FORCE_DWORD
-
이 열거형을 강제적으로 32 비트 사이즈에 컴파일 한다. 이 값은 사용되지 않았다.