반응형

이펙트 렌더링

장치에 이펙트 스테이트를 적용하기 위한 호출의 순서는 다음과 같다 :

  • Begin 은 활성(active) 테크닉을 설정한다.
  • BeginPass 는 활성 패스를 설정한다.
  • CommitChanges 는 패스내에서 모든 설정 호출에 대한 변경을 갱신한다. 이것은 드로우 호출 이전에 호출되어야 한다.
  • EndPass 는 패스를 종료한다.
  • End 는 활성 테크닉을 종료한다.

이펙트 렌더링 코드는 이펙트 없이 렌더링하는 코드보다 더 간단하다. 이펙트를 사용해 렌더링 하는 코드가 다음에 나와 있다 :

// 이펙트에 포함된 테크닉 적용

 


g_pEffect->Begin(&cPasses, 0);

for (iPass = 0; iPass < cPasses; iPass++)
{


g_pEffect->BeginPass(iPass);

// BeginPass 가 호출된 이후 스테이트 변경이 발생했을 때만

// CommitChanges 를 호출한다.
g_pEffect->CommitChanges();

// 적용된 테크닉을 사용해 메시를 렌더링한다.
g_pMesh->DrawSubset(0);

g_pEffect->EndPass();


}


g_pEffect->End();

반응형

'그래픽스(Graphics) > DirectX9~12' 카테고리의 다른 글

텍스쳐 반투명, 알파값 없는 이미지  (0) 2012.11.02
D3DXCreateTextureFromFileEx() 함수  (0) 2012.11.02
SetRenderState 정리  (0) 2012.11.02
렌더타겟,스텐실  (0) 2012.11.02
DirectX 선그리기  (2) 2012.11.02

+ Recent posts