고성능 벡터 그래픽 솔루션


12

게임에서 사용할 수있는 고성능 벡터 그래픽 라이브러리를 찾고 있습니다.

SVG 로 만들 수있는 것과 같은 벡터 그래픽 라인을 생각하고 있습니다 .

지금은 모든 언어를 고려할 것입니다 (그러나 Windows에서 실행해야 함). GPU 하드웨어를 활용하는 솔루션이 좋습니다.

미리 감사드립니다.


Vector Graphics를 사용하려는 이유가 있습니까?
AttackingHobo

예 : 스타일이 마음에 들어 텍스처보다 압축률이 높고 애니메이션에 더 유연합니다.
CiscoIPPhone

답변:


7

Windows (Vista 이상)가 유일한 플랫폼이라면 Direct2D를 살펴 봐야합니다. Direct2D 는 소프트웨어 대체를 통해 GPU 가속 2D 벡터 그래픽 렌더링을 제공합니다. 더 많은 x- 플랫폼 솔루션을 보려면 Cairo 가속기를 살펴보십시오 .GPU 가속 래스터 라이저가 있다고 생각합니다.


흥미롭게도 이전에는 Direct2D에 대해 들어 본 적이 없습니다. 널리 사용되지 않는 것 같습니다. 아마도 Windows 7이기 때문일 것입니다.
CiscoIPPhone

Direct3D 10을 사용하기 때문에 Vista와 Windows 7에만 해당됩니다. 그리고 다소 새롭습니다 :)
boki

2
몇몇 유명한 게임 프로그래머들은 Direct2D가 끔찍한 -braid-game.com/news/?p=455 (또한 팟 캐스트로 연결됨 ) 및 braid-game.com/news/?p=466을 고려 합니다.

Direct2D 의 관리 래퍼 는 기본 라이브러리보다 작업하기가 훨씬 쉽다고 생각합니다 . 그리고 내가 읽은 Direct2D에 대한 대부분의 비판은 Direct3D에서 동일한 목적을 비교적 쉽게 달성 할 수있는 예제를 인용했습니다. 물론 사각형을 그리는 것은 과잉이지만 사소한 텍스처링 및 / 또는 획을 사용하여 곡선과 모양에 적합합니다. 또한 D2D는 주로 게임 개발자를 대상으로하지 않았으며 GDI에 대한보다 풍부하고 성능이 뛰어난 대안을 제공하기위한 것입니다. 그러나 Direct3D와 잘 호환됩니다.
Mike Strobel

3

OpenVG는 하드웨어 가속 벡터 그래픽의 표준입니다. Mali / PowerVR / Vivante와 같은 핸드 헬드 장치를 대상으로하는 GPU에서 지원됩니다. Qt와 Cairo는 OpenVG를 렌더링 지원으로 사용할 수 있습니다. OpenGL 하드웨어 (MonkVG, AmanithVG GLE) 또는 소프트웨어 만 (AmanithVG SRE, ShivaVG, AlexVG)을 사용하여 OpenVG를 구현하는 소프트웨어 라이브러리가 있습니다.


2

Scaleform GFx 는 Adobe Flash 동영상 (최적화 된 렌더링, ActionScript 등)을 엔진에 통합하기위한 상업용 미들웨어 라이브러리입니다.

과거에는 Scaleform GFx의 코드베이스가 GameSWF 의 코드베이스였습니다 . GameSWF는 오픈 소스입니다.

나는이 답변에 더 많은 것을 추가 할 계획 이었지만, 내가 다시 대답 할 때, 내가 맞고 싶었던 대부분의 주요 포인트가 다른 답변에서 언급되었습니다.

플래시 기반 접근 방식과 관련하여 언급 할 수있는 유일한 다른 것은 Adobe가 소스 코드를 ActionScript 가상 머신에 릴리스 한 사실인데, 현재 는 Mozilla 의 Tamarin Project 에 있습니다.


1

Windows XP를 사용 중이거나 대부분의 Windows 버전에서 작동하는 것을 원한다면 DirectDraw (지금은 조금 낡았지만) 또는 GDI + 를 확인하거나 Flash를 사용할 수 있습니다. 크로스 플랫폼.


DirectDraw는 한동안 사용되지 않으며 내가 아는 한 벡터 기반 그래픽을 렌더링하는 기본 기능이 없습니다. 내 기억은 텍스처와 블리 팅에 전적으로 의존한다는 것입니다. 나는 GDI +가 가속되지 않았고 가속되는 동안 GDI가 다소 원시적이라고 생각합니다. 여러 렌더러를 지원하는 카이로와 같은 라이브러리를 사용하는 것이 좋습니다.이 중 적어도 하나는 GPU 가속 렌더링을 지원합니다. Direct2D는 아마도 Vista와 7에 가장 적합한 선택 일 것입니다.
Mike Strobel

내 나쁜, 나는 GDI +가 가속되었다고 생각했다! 나는 당신이 말한 것처럼 Direct2D가 최선의 선택이라고 생각합니다.
dotminic

1

SVG 그래픽을 XNA 게임 엔진으로 작동시키는 방법에 대한 논의가 있습니다. 하나는 여기에 있습니다 : http://wam-games.com/2010/04/svg-in-xna/ 그리고 여기 바로이 사이트에 대한 게시물이 있습니다 : XNA에서 직접 SVG 아트 렌더링

XNA는 내가 이해할 때 Direct3D를 통해 거의 모든 것을 파이프하므로 모든 GPU가 가속화됩니다. 기본적으로 C #으로 프로그래밍하여 사용해야합니다 (다른 언어를 사용할 수는 있지만 해킹해야합니다). XNA를 사용하면 Windows를 확실히 얻을 수 있지만 XBox360 및 몇 가지 휴대용 플랫폼으로 포팅 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.