2011-04-30 4 views
12

재미 있기 때문에 관리 템플릿 기반 벡터 기반 그래픽 시스템 인 WPF의 작은 하위 집합과 같은 라이브러리를 만들 수 있는지 확인하고 싶습니다. (저는 테스트하고 싶은 이론이 있습니다.) 저는 그래픽 천재가 아니며 좋은 벡터 그래픽 라이브러리를 찾고 있습니다.C# 바인딩이있는 Windows 용 벡터 그래픽 라이브러리

마이크로 소프트는 내부적으로 MilCore를 사용합니다. 내부적으로는 관리되는 세계에서 관리되지 않는 세계로 벡터 구조 목록을 전달하고 렌더 링하는 것으로 보입니다. 이 기본 라이브러리는 직접 모드 기반이라고 생각합니다. 바람직하게는 즉시

  1. 벡터 기반
  2. 즉시 또는 유지 모드 : 내가 원하는 기능의 세탁 목록을 기존의 무료 벡터 그래픽 라이브러리를 사용하고 싶습니다?
  3. 픽셀 쉐이더 지원
  4. 기하학 테스트가 좋은
  5. 이미지 지원, 바인딩 이미지 회전 지원
  6. .NET 것 명중 작은 규모의 상업적되는 점에 안정

내가 필요로하는 것 :

  1. 크로스 플랫폼 지원. DirectX 또는 심지어 Direct3D 10 또는 11에 고정되어 있으면 그렇게 할 수 있습니다.
  2. "컨트롤"과 비슷한 그래픽의 높은 수준의 관리. 이 관리 계층은 아마도 나 자신을하고 싶을 것입니다.
  3. 나는 조금 interop의 무서워하지 않습니다.
  4. 최고 멋진 공연. 나는 이것을 공연하고 싶다. 그러나 그것 때문에 유용성이 너무 많이 고생한다면, 나는 성공하지 못할 것이다.

이 라이브러리 http://jeremiahmorrill.com/2011/02/05/a-simple-directcanvas-tutorial/은 내가 좋아하는 것과 비슷하지만 더 안정적이고 더 많은 예제가 있습니다.
가능한 경우 DX/OpenGL보다 높은 레이어를 선호합니다.

어떤 옵션이 있습니까? 이것이 존재 하는가 아니면 그냥 파이프 꿈인가? 사전에 감사드립니다 - 방금 쇼핑 목록을 입력 한 것처럼 느껴지지만 이에 대한 커뮤니티의 의견에 정말로 감사드립니다. 여기에 나열된 다른 벡터 그래픽 질문에 맞지 않는 것 같습니다.하지만 위대한 게시물을 놓친 경우 알려주세요!

+0

:

http://cairographics.org/bindings/

나는 큰 성공 이러한 .NET/(NDesk에 의해) 모노 바인딩을 사용했습니다 잠시 동안 비슷한 것을 찾고 있었지만 운이 없었습니다. 누군가가 그것을 찾을 수 있기를 바랍니다. 그러나 성배 검색과 같아요. DirectX에 직접 래퍼가 있지만, 그럴 필요가 없습니다. 그렇다면 DirectCanvas가 있습니다.하지만 정확히 내가 필요한 것은 아닙니다 ... –

+0

Clutter를 살펴 보았지만 .NET 바인딩을 찾을 수 없었습니다. 혼란에 대한 의견이 있으십니까? –

답변

0

SlimDX http://en.wikipedia.org/wiki/SlimDX을 사용해 볼 수 있습니다. SlimDX에는 Direct2D 및 DirectX 래퍼가 있습니다. 나는 그들 모두가 당신의 요구 사항을 다룰 것이라고 믿습니다.

+0

1. Direct2D는 하드웨어 지원으로 인해 Dirext3D 용으로 고풍스러워졌습니다 (지금 내가 기억하고있는 것에서 3d를 2 차원으로 만들었습니다). 2. SlimDX는 실제로 벡터 라이브러리가 아닙니다. 래스터 라이 제이션 엔진은 비슷한 일을 할 수 있지만 완전히 동일하지는 않습니다. – Aren

0

.NET 및 Open GL의 강력한 기능을 제공하는 Mono + Open GL을 볼 수 있지만 라이브러리를 작성하기 위해서는 개방형 gl을 사용해야하지만 플랫폼 독립성을 보장해야합니다.

http://www.opentk.com/

http://www.mono-project.com/Tao

는 아직 그들 중 하나에게 자신을 시도하지 않은,하지만 샘플을 찾고, 그들은 처음부터 아주 쉽게 보인다. Open GL을 사용하면 iPhone과 같은 모바일 장치도 Open GL을 지원하므로 앞으로 유용 할 것입니다.

+0

나는 가능한 한 기본 그래픽 프레임 워크에서 벗어나기를 정말로 원합니다. 버텍스가 아닌 기하학 객체 레벨에서 더 많은 작업을하고 싶습니다. 이런 종류의 레벨을 지원합니까, 아니면 사다리꼴을 그리기위한 세부적인 세부 사항으로 들어가겠습니까? –

+0

http://www.opentk.com/doc/math이 링크에서 그들은 벡터 수학을 지원한다고 말합니다. –

+0

... 벡터 수학은 벡터 그래픽과 동일하지 않습니다 ... –

3

VG.NET 라이브러리로 여러 번 작업했습니다. 사용하기 쉽고 훌륭한 디자이너가 있으며 이미지와 애니메이션이 빠릅니다. 내 최고의 추천입니다.

+0

이것은 내가 찾고있는 것까지는 보이지 않지만 걱정됩니다 ... 글쎄, 조금 날짜가 맞았습니다. 그것은 GDI + 기반입니다. 저도 셰이더 지원에서 그런 종류의 규칙을 추측하고 있습니다. 그래도 고마워! 낮은 수준이 아닌 뭔가를 가리 키지 않는 것이 좋습니다. –

+0

예, GDI +를 기반으로하지만 성능은 정말 좋습니다. 그들은 매우 많은 최적화를했습니다. – TcKs

+0

VG.net과 관련하여 저는 개발자이며 Direct2D 포트 작업을하고 있습니다. 나는 그것이 언제 풀릴 것인지 말할 수 없다. 동일한 라이브러리를 사용하여 Direct2d와 GDI +간에 전환 할 수 있어야합니다. –

1

전 벡터 그래픽을 위해 카이로를 사용했습니다. 시작하기 (크로스 플랫폼, 많은 언어 바인딩, 오픈 소스 등)하기에 좋은 라이브러리입니다.

현재 언어 바인딩을 확인하실 수 있습니다 : 나는 '

http://git.ndesk.org/?p=cairo-sharp

+0

Cairo는 픽셀 쉐이딩 기능을 지원합니까? –

+0

이 페이지에 따르면 OpenGL 백엔드가 있습니다 : http://cairographics.org/backends/ – Laserallan

+0

OpenGL 백엔드는 꽤 좋습니다. 필자는 재미있는 텍스트 편집기 프로젝트를 위해 텍스트 변환을 가속화하기 위해 한 번 사용했습니다. 아주 깔끔한. – jsherer

관련 문제