게임을하고 있는데 벡터 그래픽을 사용하고 싶습니다. 카이로를 사용하여 다시 코딩하기 시작했으며 성능이 끔찍합니다. 그래서 다른 도서관을 찾고 있습니다. C ++ 및 크로스 플랫폼 용이어야합니다 (예 : Direct2D 없음). 다른 사람이 전에 이런 질문을했지만 적절한 답변이 없었습니다. 뭔가 있을까요 ...?
게임을하고 있는데 벡터 그래픽을 사용하고 싶습니다. 카이로를 사용하여 다시 코딩하기 시작했으며 성능이 끔찍합니다. 그래서 다른 도서관을 찾고 있습니다. C ++ 및 크로스 플랫폼 용이어야합니다 (예 : Direct2D 없음). 다른 사람이 전에 이런 질문을했지만 적절한 답변이 없었습니다. 뭔가 있을까요 ...?
답변:
나는 그 주제가 꽤 까다 롭고, 소수의 멀티 플랫폼 솔루션이 출시 된 것으로 보이며, 더 적은 수가 스스로 살아남은 것 같습니다. 몇 달 전에 주제를 조사하고있었습니다. iOS 및 Android에서 실행하는 엔진이 필요했기 때문에 제약이있었습니다. 당시에 나에게 가장 적합한 것을 찾지 못했습니다.
그러나 내가 기억하는 몇 가지 조언 : 각 GUI 시스템에는 몇 가지 형식의 그리기 API가 있습니다. 따라서 QT 와 같은 플랫폼 간에 관심있는 것을 찾을 수 있습니다 .
cairo는 AntiGrain 과 동일 합니다. 성능을 비교할 수 있습니다.
OpenFrameworks 는 벡터 그래픽을 지원합니다.
벡터 그래픽을 지원하는 전용 라이브러리 인 ImageMagick 은 매우 큰 라이브러리입니다 .
낮은 수준 에서는 그놈 프로젝트에서 Libxmi 와 Libart 를 찾을 수 있습니다.
높은 수준의 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을 사용하여 크기를 조정했습니다. 내 상황에 잘 작동합니다.