Yüksek Performanslı Vektör Grafik Çözümleri [kapalı]


12

Oyunlarımda kullanabileceğim yüksek performanslı bir vektör grafik kütüphanesi arıyorum.

SVG ile yapılabilecekler gibi vektör grafikleri üzerinde düşünüyorum .

Şu anda herhangi bir dili düşüneceğim (ancak Windows'ta çalıştırılmalı). GPU donanımından yararlanan bir çözüm harika olurdu.

Şimdiden teşekkürler.


Vektör Grafiklerini kullanmak için herhangi bir neden var mı?
AttackingHobo

Evet: Stili seviyorum, dokulardan daha iyi sıkışabilirler ve animasyon için daha esnektirler.
CiscoIPPhone

Yanıtlar:


7

Windows (Vista ve üstü) tek platformunuzsa , GPU ile hızlandırılmış 2D vektör grafik oluşturma ve yazılım yedeklemesi sağlayan Direct2D'ye bakmalısınız . İçine daha X-platform çözümü görünüm için Kahire'de bir GPU olması inanıyoruz tarayıcıyı hızlandırdı.


İlginçtir, Direct2D'yi daha önce hiç duymamıştım. Yaygın olarak kullanılmıyor gibi görünüyor - belki de sadece Windows 7 olduğu için.
CiscoIPPhone

Direct3D 10'un kullanımı nedeniyle sadece Vista ve Windows 7'dir. Ve oldukça yenidir :)
boki

2
Bazı yüksek profilli oyun programcılarının Direct2D'yi korkunç olarak gördüğünü unutmayın - braid-game.com/news/?p=455 (ayrıca bir podcast'e de bağlanır ) ve braid-game.com/news/?p=466 .

Direct2D için yönetilen sarıcı ile birlikte çalışmanın yerel kütüphaneden çok daha kolay olduğunu düşünüyorum . Direct2D'de okuduğum eleştirilerin çoğu, Direct3D'de aynı amaçların nispeten kolay bir şekilde gerçekleştirilebileceği örnekler verdi. Tabii ki, bir dikdörtgen çizmek aşırıya kaçıyor, ancak önemsiz tekstüre ve / veya okşayarak eğriler ve şekiller için iyi çalışıyor. Ayrıca, D2D öncelikle oyun geliştiricilere yönelik değildi - GDI'ya daha zengin ve daha performanslı bir alternatif sunması amaçlandı. Ancak Direct3D ile birlikte iyi çalışır.
Mike Strobel

3

OpenVG, donanım hızlandırmalı vektör grafikleri için bir standarttır. Mali / PowerVR / Vivante gibi elde taşınır cihazları hedefleyen GPU'lar tarafından desteklenir. Qt ve Kahire OpenVG'yi destekli bir görüntü olarak kullanabilir. OpenGG'yi OpenGL donanımını (MonkVG, AmanithVG GLE) veya yalnızca yazılımı (AmanithVG SRE, ShivaVG, AlexVG) kullanarak uygulayan yazılım kütüphaneleri vardır.


2

Scaleform GFx , Adobe Flash filmlerini (optimize edilmiş oluşturma, ActionScript ve daha fazlası) motorunuza entegre etmek için kullanılan ticari bir ara katman yazılımı kütüphanesidir.

Geçmiş bir yaşamda, Scaleform GFx'in kod tabanı GameSWF'di . GameSWF açık kaynak kodludur.

Bu cevaba daha fazlasını eklemeyi planladım, ancak geri döndüğümde, vurmak istediğim ana noktaların çoğu diğer cevaplarda belirtildi.

Flash tabanlı yaklaşımla ilgili olduğunu söyleyebileceğim tek şey, Adobe'nin kaynak kodunu şimdi Mozilla'daki Tamarin Projesi'nde yaşayan ActionScript sanal makinelerine yayınlamasıdır .


1

Windows XP kullanıyorsanız veya çoğu Windows sürümünde çalışan bir şey istiyorsanız, DirectDraw'a (şimdi biraz eski olmasına rağmen) veya GDI + 'ya bakmanız ya da vektör oluşturma için oldukça iyi görünen ve çapraz platform.


DirectDraw bir süredir kullanımdan kaldırıldı ve bildiğim kadarıyla vektör tabanlı grafikler oluşturmak için yerel yetenekleri yok. Hatırladığım şey, tamamen dokulara ve örmeye dayanmasıydı. GDI + 'nın hızlanmadığına ve hızlandırılmış olsa da GDI'nin oldukça ilkel olduğuna inanıyorum. Kahire gibi birden fazla oluşturucuyu destekleyen, en azından biri GPU hızlandırmalı oluşturmayı destekleyen bir kütüphane ile gitmek daha iyi olurdu. Direct2D muhtemelen Vista ve 7 için en iyi seçimdir.
Mike Strobel

Benim hatam, GDI + 'nın hızlandığını düşündüm! Sanırım Direct2D dediğin gibi en iyi seçim olurdu.
dotminic

1

Burada ve SVNA grafiklerini XNA oyun motorunda nasıl çalıştıracağınıza dair bazı tartışmalar var. Biri burada: http://wam-games.com/2010/04/svg-in-xna/ ve işte bu sitede bir yayın: SVG sanatını doğrudan XNA'da oluşturma

XNA, anladığım kadarıyla Direct3D aracılığıyla hemen hemen her şeyi birleştiriyor, bu yüzden hepsi GPU hızlandırıldı. Temel olarak kullanmak için C # programlamanız gerekir (başka dilleri kullanabilirsiniz, ancak bunu hacklemek zorundasınız.) XNA kullanmak size Windows'u kesin olarak verir, ancak aynı zamanda XBox360 ve birkaç taşınabilir platforma taşıma olanağı da sağlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.