SetRenderState 정리
- 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 비트 사이즈에 컴파일 한다. 이 값은 사용되지 않았다.
주의
Direct3D 는, 애플리케이션에서의 편의를 고려해, (D3DRS_WRAP n 스테이트값의 1 개를 명시적으로 사용하는 대신에) 정수 D3DRENDERSTATE_WRAPBIAS 를 정의해, 텍스처 좌표 세트의 제로로부터 시작되는 정수값에 근거해, 텍스처 랩핑을 유효하게 하거나 무효로 하거나 한다. 다음과 같이 D3DRENDERSTATE_WRAPBIAS 값을 텍스처 좌표 세트의 제로로부터 시작되는 인덱스에 덧셈 해, 그 인덱스에 대응하는 D3DRS_WRAP n 값을 계산한다.
// Enable U/V wrapping for textures that use the texture // coordinate set at the index within the dwIndex variable. HRESULT hr = pd3dDevice->SetRenderState( dwIndex + D3DRENDERSTATE_WRAPBIAS, D3DWRAPCOORD_0 | D3DWRAPCOORD_1); // If dwIndex is 3, the value that results from // the addition equals D3DRS_WRAP3 (131).
열거형의 정보
헤더 d3d9types.h 최저한의 operating system Windows 98
참조
IDirect3DDevice9::GetRenderState ,IDirect3DDevice9::SetRenderState
===========================================================================
1. SetRenderState 사전적 의미
HRESULT SetRenderState(
D3DRENDERSTATETYPE state, //--1.
DWORD Value //--2.
);
Parameter
1. state [in] D3DRENDERSTATETYPE 목록중 임의의 멤버 지정
2. DWORD Value[in]
state에 의한 결정
반환값 성공시 D3D_OK를 반환
#define D3D_OK S_OK
#define S_OK ((HRESULT)0x00000000L)
2. 파라미터 D3DRENDERSTATETYPE
- D3DRS_ZENABLE
z버퍼를 유효하게 하려면 D3DZB_TRUE
w버퍼를 유효하게 하려면 D3DZB_USEW
깊이 버퍼링을 무효 하려면 D3DZB_FALSE
D3DPRESENT_PARAMETERS 구조체의 EnableAutoDepthStencil
맴버에 TRUE를 설정해 스텐실이 스왑 체인과 함께 생성 되고 있는 경우,
D3DRS_ZENABLE 의 default value는 D3DZB_TRUE,
D3DPRESENT_PARAMETERS 구조체의 EnableAutoDepthStencil
맴버에 FALSE를 설정해 스텐실이 생성되고 있지 않는 경우
D3DRS_ZENABLE의 default value는 D3DZB_FALSE
ex) g_pd3dDevice->SetRenderState( D3DR_ZENABLE, D3DZB_TRUE ); // -> z버퍼유효
- D3DRS_FILLMODE
D3DFILL_POINT : 점을 칠한다.
D3DFILL_WIREFRAME : WIREFRAME을 칠한다.
D3DFILL_SOLID : 면을 칠한다.
- D3DRS_SHADEMODE
D3DSHADE_FLAT : flat shading mode. 보간되지 않는 색이 삼각형 전체에 적용
D3DSHADE_GOURAUD : gouraud shading mode. 표면의 색성분과 스펙쿨러 성분은,
삼각형의 3개 정점간의 interpolation에 의해 결정
D3DSHADE_PHONG : pixel shading mode.
- D3DRS_ZWRITEENABLE
APP에 의한 깊이 버퍼에의 쓰기를 유효하게 하려면 TRUE -> default
시스템이 새로운 깊이 값으로 깊이 버퍼 갱신을 막을 수 있다. //--------------> 요지
- D3DRS_ALPHATESTENABLE
픽셀마다 알파 테스트를 유효하게 하려면 TRUE를 설정
테스트가
성공하면 픽셀이 frame buffer에 의해 처리된다.
실패하면 그 픽셀의 모든 frame buffer처리는 스킵된다.
D3DRS_ALPHAFUNC 렌더링 스테이트에서 제공되는 비교함수를 사용해,
들어오는 알파값을 기준 알파값과 비교해 테스트를 실시 한다.
기준 알파 값은, D3DRS_ALPHAREF 의 설정값으로 정해진다.
- D3DRS_ZFUNC
default value D3DCMP_LESSEQUAL.
픽셀의 깊이 값을 깊이 버퍼의 값과 비교 한다.
픽셀의 깊이 값이 비교함수로 허가되면 픽셀이 출력된다.
깊이 값이 깊이 버퍼에 출력되는 것은, RenderingState가 TRUE의 경우 뿐이다.
픽셀 렌더링 처리를 실시 하지 않는 경우에 텍스쳐를 필터 처리하거나 곱셈 할 필요가
없기 때문에 깊이 테스트에 실패하는 쪽이 소프트웨어에 의한
레스터화나 하드웨어 가속기시의 처리는 빨라진다.
- D3DRS_SRCBLEND
D3DBLEND_ZERO : (0,0,0,0)
D3DBLEND_ONE : (1,1,1,1)
D3DBLEND_SRCCOLOR : (R,G,B,A)
D3DBLEND_INVSRCCOLOR : (1-R,1-G,1-B,1-A)
D3DBLEND_SRCALPHA : (A,A,A,A)
D3DBLEND_INVSRCALPHA : (1-A,1-A,1-A,1-A)
D3DBLEND_DESTALPHA : (A,A,A,A)
D3DBLEND_INVDESTALPHA : (1-A,1-A,1-A,1-A)
D3DBLEND_DESTCOLOR : (R,G,B,A)
D3DBLEND_INVDESTCOLOR : (1-R,1-G,1-B,1-A)
D3DBLEND_SRCALPHASAT : (f,f,f,1), f = min(A, 1-A)
D3DBLEND_BOTHINVSRCALPHA
D3DRS_SRCBLEND rendering state 에 대해서만 지원 된다. //-------> 중요
source blend factor 는 (1-A,1-A,1-A,1-A)로,
destination blend factor는 (A,A,A,A) 다.
destination의 blend factor는 overriding 된다.
D3DBLEND_BLENDFACTOR
frame buffer 블렌더가 사용하는 정수 컬러 혼합 계수.
D3DPBLEND_BLENDFACTOR 가 on 인 경우에만 지원된다.
D3DBLEND_INVBLENDFACTOR //----------------------------------> 차후 이해요망
frame buffer 블렌더가 사용하는 정수 컬럽 혼합 계수의 보수.
D3DCAPS9 의 SrcBlendCaps 또는 DestBlendCaps 멤버에
D3DPBLEND_BLENDFACTOR 비트가 설정되어있는 경우만,
blend factor가 지원 된다.
- D3DRS_DESTBLEND
default value is D3DBLEND_ZERO.
D3DBLEND 목록의 맴버중 하나.
- D3DRS_ALPHAREF
알파 테스트가 유효하게 설정되어 있는 경우에,
픽셀 테스트를 하기 위한 기준 알파값을 지정 하는 값
- D3DRS_ALPHAFUNC
D3DCMPFUNC 목록 맴버중 하나.
default is D3DCMP_ALWAYS.
이 맴버는 애플리케이션에 알파 값을 기준으로 하는 ...
This member enables an application to accept or reject a pixel,
based on its alpha value. //--------------------------------> 차후 명확한 해석
- D3DRS_CULLMODE
Vertices를 Culling 하는 경우에 방법을 지정
default value is D3DCULL_CCW
D3DCULL_NONE / D3DCULL_CW / D3DCULL_CCW
- D3DRS_LASTPIXEL
default is TRUE
라인상의 마지막 점 그리기를 가능하게 한다.
- D3DRS_DITHERENABLE
디더 링 _ default is FALSE -> 일종의 색 혼합법
- D3DRS_ALPHABLENDENABLE
Alpha Blend(혼합) Type 은
D3DRS_SRCBLEND 와 D3DRS_DESTBLEND의 Rendering State에 의해 정해진다.
[출처] SetRenderState 정리 |작성자 아이엠쏭
'Programming > D3D' 카테고리의 다른 글
UnderWater(바다속효과) (0) | 2011.02.19 |
---|---|
D3D화면에 WebPage 출력하기 (0) | 2011.02.19 |