크로스 플랫폼 C ++ 벡터 그래픽 라이브러리가 있습니까? [닫은]

게임을하고 있는데 벡터 그래픽을 사용하고 싶습니다. 카이로를 사용하여 다시 코딩하기 시작했으며 성능이 끔찍합니다. 그래서 다른 도서관을 찾고 있습니다. C ++ 및 크로스 플랫폼 용이어야합니다 (예 : Direct2D 없음). 다른 사람이 전에 이런 질문을했지만 적절한 답변이 없었습니다. 뭔가 있을까요 …?



답변

나는 그 주제가 꽤 까다 롭고, 소수의 멀티 플랫폼 솔루션이 출시 된 것으로 보이며, 더 적은 수가 스스로 살아남은 것 같습니다. 몇 달 전에 주제를 조사하고있었습니다. iOS 및 Android에서 실행하는 엔진이 필요했기 때문에 제약이있었습니다. 당시에 나에게 가장 적합한 것을 찾지 못했습니다.

그러나 내가 기억하는 몇 가지 조언 : 각 GUI 시스템에는 몇 가지 형식의 그리기 API가 있습니다. 따라서 QT 와 같은 플랫폼 간에 관심있는 것을 찾을 수 있습니다 .

cairo는 AntiGrain 과 동일 합니다. 성능을 비교할 수 있습니다.

OpenFrameworks 는 벡터 그래픽을 지원합니다.

벡터 그래픽을 지원하는 전용 라이브러리 인 ImageMagick 은 매우 큰 라이브러리입니다 .

낮은 수준 에서는 그놈 프로젝트에서 LibxmiLibart 를 찾을 수 있습니다.

높은 수준의 API는 아니며, 어떤 것이 당신에게 적합한 지 잘 모르겠지만 표준 OpenVG가 있습니다. 소프트웨어 OpenGL 및 OpenGL ES 렌더러에는 여러 개의 OpenVG 포트가 있습니다. Mesa 3D도 OpenVG를 구현 한 것으로 보입니다. 그러나 일부 플랫폼의 경우 상용 솔루션 만 사용할 수 있습니다.

벡터 그래픽 용 API를 통합하는 고급 라이브러리가 있습니다. 이 중 GUI 디자인을위한 Clutter 라는 오픈 소스가 있으며 진지한 게임 디자인에 사용되는 스케일 폼 (Open Source가 아님)이 있습니다. 이 게임 엔진에는 벡터 그래픽을 그리는 기능이 있습니다 : 2DEngine


편집 : 혼란은 분명히 cairo를 사용합니다.


답변

MonkVG는 OpenGL ES 1.1 및 2.0을 기반으로하는 크로스 플랫폼 OpenVG 에뮬레이션입니다. 참조 : https://github.com/micahpearlman/MonkVG

참고 : 저는이 도서관의 원저자이자 관리자입니다. 매우 자유로운 BSD 라이센스가 있습니다.


답변

귀찮게하지 않고 고해상도 이미지를 사용하고 OpenGL을 사용하여 크기를 조정했습니다. 내 상황에 잘 작동합니다.