WGL에서 DC전환

Opengl을 이용한 MDI Application에서 Current View가 보존되지 않으면 ChildWnd의 다른 View에 업데이트 될수 있다.

OnActivateView를 이용해 Current를 자신의 dc로 유지한다.



void CModelViewerView:: OnActivateView( BOOL bActivate, CView* pActivateView, CView* pDeactiveView )
{


  CView::OnActivateView(bActivate, pActivateView, pDeactiveView);


  if(bActivate == TRUE){
    wglMakeCurrent(m_pDC->GetSafeHdc(), m_hRC);
  }


}



gl명령어를 쓰기 위한 조건에서


HDC hdc = wglGetCurrentDC();
HGLRC hrc = wglGetCurrentContext();
wglMakeCurrent(m_pDC->GetSafeHdc(), m_hRC);


 // here gl command
wglMakeCurrent(hdc,hrc);


와 같이 current dc를 보존한다.

답글 남기기

이메일 주소는 공개되지 않습니다.