문제

화면에 표시되고 Win32 GDI의 CDC 랩핑을 사용하여 인쇄하는 성숙한 MFC C ++ 응용 프로그램이 있습니다. 수년에 걸쳐 최적화되었지만 조금 더 빨리 교체하고 싶습니다. 그래픽에는 렌더링 된 삼각형 표면 모델, 복잡한 폴리 라인 및 다각형 및 많은 텍스트가 포함되었습니다. 다음 기준을 충족해야합니다.

  • 표시되는 벡터의 수는 매우 클 수 있습니다. 예를 들어 단일 표면 삼각형은 렌더링 될 때 숫자 선과 단단한 충전물을 생성 할 수 있습니다. 현재이 정보는 어디에도 저장되지 않으며, 즉시 생성되고 그려집니다. SDK는 총 완충 벡터의 총 수를 제한하거나 메모리가 부족할 수 있습니다.

  • SDK는 CVIEW 및 SCROLLVIEW 클래스를 포함한 모든 CWND 파생 클래스로 렌더링 할 수 있어야합니다.

  • SDK는 모든 Windows 인쇄 장치에 대한 인쇄를 지원해야합니다.

  • SDK는 낮은 레벨 CDC / GDI 호출에서 포트를 비교적 간단하게 만들 수있을 정도로 낮은 레벨이어야합니다.

  • 오픈 소스는 항상 좋지만 옵션 업그레이드/지원으로 $ 2K라고 말하는 1 달러의 비용도 괜찮습니다. 사용자 당 라이센스 비용은 허용되지 않습니다.

  • 소스 코드에 대한 액세스는 특히 Windows CE / Mobile에서 SDK의 일부를 실행한다는 아이디어와 함께 큰 보너스입니다.

  • 나는 내 자신의 3D ~ 2D 뷰포트 관리를 호소하게 처리합니다. 적절한 낮은 수준의 SDK를 사용할 수없는 경우, 높은 수준의 SDK는 3D 우물을 처리하고 32 비트 Wind

제안이 있습니까? 제안 된 제안에 특정 장단점을 나열하는 것은 대단히 감사 할 것입니다.

도움이 되었습니까?

해결책

나는 한 번 Fastgraph를 평가했다 (http://www.fastgraph.com) 프로젝트를 위해. 나는 내가 쓴 작은 테스트 프로그램에서 그것을 좋아했는데, 그것은 매우 빠릅니다. 우리는 외부 이유로 사용하지 않았으므로 (내가 평가 한 라이브러리와 관련이 없음) 더 실용적인 경험이 없습니다.

다른 팁

나는 Directx라고 생각합니다 SDL 당신의 필요에 맞을 것입니다. 그들은 3D 용으로 설계되었지만 2D를 위해 작동합니다. 지원 Windows CE / Mobile 및 SDL은 모두 Microsoft가 아닌 OS에도 사용할 수 있습니다.

불행히도 GDI와의 직접 호환성은 라이브러리에서 지원되지 않습니다. 그러나 GDI 설계 애플리케이션 클래스에서 모든 출력 그래픽을 수용하고 DirectX 또는 SDL 클래스의 요구에 맞게 형식을 변환하는 변환기 클래스를 만들어 트릭을 수행 할 수 있습니다 (사용하려는 내용).

개인적으로 나는 그러한 변환기 수업을 한 번 만들었습니다. SDL을 사용하여 Pocket PC 용 게임을 작성했으며 Palm 장치로 포트해야했습니다. 거기에는 다른 그래픽 라이브러리를 사용해야했지만 (지금은 LIB의 이름을 기억하지 못합니다) 모든 SDL 기능 출력을 다른 LIB가 필요한 형식으로 포트하는 데 성공했습니다. 현재 실행중인 장치에 따라 Palm 또는 Pocket PC 라이브러리로 호출을 전달하는 컨버터 (래퍼) 기능을 호출하려면 응용 프로그램을 변경해야했습니다. 따라서 GDI-> DirectX 또는 GDI-> SDL을 변환하는 데 동일하게 할 수 있다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top