D3DCLEAR_STENCIL...
HRESULT hr = GetD3DDevice()->Clear( 0, NULL, D3DCLEAR_STENCIL | ..., ulColor, fDepth, usStencil );
이 실패(INVALID_CALL)가 나와서 약 2시간 동안 캐삽질....
여지껏 한번도 신경써본적이 없었는데, 갑자기 이런데서 문제가 생기니 꽤 시간이 오래걸렸군요.

원인은 DepthStencil의 Format 때문...
directX , Clear buffer problem
Clearing Depthstencil Error

m_d3dPP.hDeviceWindow = GetHWnd();
m_d3dPP.Windowed = !m_bFullScreen;
m_d3dPP.SwapEffect = D3DSWAPEFFECT_DISCARD;
m_d3dPP.BackBufferCount = 1;
m_d3dPP.BackBufferWidth = GetWidth();
m_d3dPP.BackBufferHeight = GetHeight();
m_d3dPP.MultiSampleType = D3DMULTISAMPLE_NONE;
m_d3dPP.MultiSampleQuality = 0;

// Request depth and stencil buffers. The parameters are not independent
// for DirectX. TO DO. For now, just grab a 24-bit depth buffer and an
// 8-bit stencil buffer.
m_d3dPP.EnableAutoDepthStencil = TRUE;
m_d3dPP.AutoDepthStencilFormat = D3DFMT_D24S8;


로 Format을 Stencil을 넣어줘야 하는 것.

그리고, 랜더타겟(Texture)에 랜더링 할 때에도, 랜더타겟의 DepthStencil도 포멧을 잘 지정해 줘야 한다는 것.. -_-;;

// create render target surface
HRESULT hr = device->CreateDepthStencilSurface( GetWidth(), GetHeight(),
                                                                          D3DFMT_D24S8, // Format
                                                                          D3DMULTISAMPLE_NONE, // MultiSampleType
                                                                          0, // MultiSampleQuality
                                                                          TRUE, // Discard
                                                                          &m_pDepthStencilSurface,
                                                                          NULL);


처음 만들 때 신경써서 만들걸... ㅡㅡ;;
by cagetu | 2009/07/02 22:25 | 개발 노트 | 트랙백 | 핑백(1) | 덧글(0)
트랙백 주소 : http://cagetu.egloos.com/tb/4999730
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Linked at CrazyXIII : 캐 샆질.. at 2009/07/08 14:36

... 것은 다들 아실 것이다. 불행히도, 나는 Shadow Volume을 만들어 본 적이 없고, Stencil Buffer를 이용한 작업을 많이 해보지 않은 결과, D3DCLEAR_STENCIL...과 같은 캐샆질이 시작되는데...이번에는 Stencil Test, 정확히 말하면, Z Test의 실패로 캐샆질이 시작되었다.. 거의 3일 동안 계속된 이 ... more

:         :

:

비공개 덧글

< 이전페이지 다음페이지 >