Direct3D9: (WARN) :Ignoring redundant SetTextureStageState
2008-01-29개인 프로젝트를 하던 중 Direct3D 9의 Debug Output Level을 최대로 올리고 실행했다. 보이는 건 토할 정도로 많은 워닝 메시지들뿐.
... Direct3D9: (WARN) :Ignoring redundant SetTextureStageState. Stage: 0, State: 1 Direct3D9: (WARN) :Ignoring redundant SetTextureStageState. Stage: 0, State: 2 Direct3D9: (WARN) :Ignoring redundant SetTextureStageState. Stage: 0, State: 3 Direct3D9: (WARN) :Ignoring redundant SetTextureStageState. Stage: 0, State: 4 ...
중복된 텍스쳐 스테이지 스테이트 설정때문에 나는 워닝이다. 이 워닝을 보지 않으려면 랜더링 코드 이전에 IDirect3DStateBlock9으로 사용할 디바이스 스테이트들을 캡쳐하고 랜더링 코드에서 사용하면 된다.
혹시나 싶어 다이렉트 X 예제(Tutorial 5: Textures)를 실행 시켜봐도 이런 워닝은 여전히 발생한다.
처음 SetTextureStageState
함수를 호출할 때도 워닝이 발생하는 경우가 있는데, 그건 기본값때문에 그렇다.
----------------------------------------- texture stage : 0 D3DTSS_COLOROP :4 D3DTSS_COLORARG1 :2 D3DTSS_COLORARG2 :1 D3DTSS_ALPHAOP :2 D3DTSS_ALPHAARG1 :2 D3DTSS_ALPHAARG2 :1 D3DTSS_BUMPENVMAT00 :0 D3DTSS_BUMPENVMAT01 :0 D3DTSS_BUMPENVMAT10 :0 D3DTSS_BUMPENVMAT11 :0 D3DTSS_TEXCOORDINDEX :0 D3DTSS_BUMPENVLSCALE :0 D3DTSS_BUMPENVLOFFSET :0 D3DTSS_TEXTURETRANSFORMFLAGS :0 D3DTSS_COLORARG0 :1 D3DTSS_ALPHAARG0 :1 D3DTSS_RESULTARG :1 D3DTSS_CONSTANT :0 ----------------------------------------- texture stage : n [1,7] D3DTSS_COLOROP :1 D3DTSS_COLORARG1 :2 D3DTSS_COLORARG2 :1 D3DTSS_ALPHAOP :1 D3DTSS_ALPHAARG1 :2 D3DTSS_ALPHAARG2 :1 D3DTSS_BUMPENVMAT00 :0 D3DTSS_BUMPENVMAT01 :0 D3DTSS_BUMPENVMAT10 :0 D3DTSS_BUMPENVMAT11 :0 D3DTSS_TEXCOORDINDEX :n D3DTSS_BUMPENVLSCALE :0 D3DTSS_BUMPENVLOFFSET :0 D3DTSS_TEXTURETRANSFORMFLAGS :0 D3DTSS_COLORARG0 :1 D3DTSS_ALPHAARG0 :1 D3DTSS_RESULTARG :1 D3DTSS_CONSTANT :0
이제 원인을 확실하게 알았으니 맘 편하게 무시. Debug Output Level은 한 단계 낮추고 실행하기로 했다.

- tags:
- directx 3
@ohyecloudy
,ohyecloudy@gmail.com