2010-03-31 2 views
1

Windows Forms에 디자인 타임에 놓을 수 있고 런타임에 OpenGL 디스플레이 목록을 할당 할 수있는 OpenGL 뷰어 컨트롤을 만들었습니다.OpenGL 뷰어 컨트롤 및 렌더링 컨텍스트

뷰어 컨트롤은 네비게이션, 디스플레이 옵션 (예 : 배경색) 등을 처리합니다. 필요에 따라 렌더링 및 장치 컨텍스트를 만들고 파괴 할 수도 있습니다.

분명히 각 뷰어 컨트롤 인스턴스에는 이미지가 그려지는 '창'이라는 자체 장치 컨텍스트가 있습니다.

질문 :

  • 어떻게 각각의 뷰어 컨트롤 인스턴스가 컨텍스트를 렌더링 관리해야합니까?
  • 각 인스턴스마다 고유 한 컨텍스트가 있거나 글로벌 렌더링 컨텍스트를 공유해야합니까?

난이 렌더링 컨텍스트 (현재 문맥이 무엇이든) 및 디바이스 컨텍스트를 요구 WGL 폰트 생성 (wglUseFontBitmaps and wglUseFontOutlines)를 어떻게 영향을 미치는지에 특히 걱정.

  • 각 렌더링/장치 컨텍스트 조합에 대해 각 WGL 글꼴을 만들어야합니까?

아마 내 접근법에 결함이 있습니다.

답변

1

컨트롤 접근 방식과 관련된 컨텍스트를 사용합니다. 확장 기능은 컨텍스트 기반이라는 점을 기억해야합니다. 따라서 각 확장 기능을 바인드해야합니다 (나는 이것을 처리하기 위해 glew_MX를 사용합니다).

(동일한 GPU에있는 한) 컨텍스트 전체에서 표시 목록을 공유 할 수 있으며 wgl 글꼴을 만들어 표시 목록을 만들면 괜찮을 것입니다.