이펙트 렌더링
장치에 이펙트 스테이트를 적용하기 위한 호출의 순서는 다음과 같다 :
- 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 |