โซลูชั่นกราฟิกเวกเตอร์ประสิทธิภาพสูง [ปิด]


12

ฉันกำลังมองหาห้องสมุดกราฟิกแบบเวกเตอร์ประสิทธิภาพสูงที่ฉันสามารถใช้ในเกมของฉัน

ฉันคิดตามสายของกราฟิกแบบเวกเตอร์เช่นผู้ที่สามารถทำกับSVG

ฉันจะพิจารณาภาษาใด ๆ ในขณะนี้ (แต่ต้องทำงานบน Windows) โซลูชันที่ใช้ประโยชน์จากฮาร์ดแวร์ GPU จะดีมาก

ขอบคุณล่วงหน้า.


มีเหตุผลที่คุณต้องการใช้กราฟิกแบบเวกเตอร์หรือไม่?
AttackHobo

ใช่: ฉันชอบสไตล์ที่พวกเขาสามารถบีบอัดได้ดีกว่าพื้นผิวและพวกเขามีความยืดหยุ่นสำหรับการเคลื่อนไหว
CiscoIPPhone

คำตอบ:


7

หาก Windows (Vista และอื่น ๆ ) เป็นแพลตฟอร์มเดียวของคุณคุณควรมองเข้าไปในDirect2Dซึ่งให้การเรนเดอร์กราฟิกแบบเวกเตอร์กราฟิก 2D แบบเร่งด้วย GPU พร้อมซอฟต์แวร์สำรอง สำหรับโซลูชันแพลตฟอร์ม x ดูที่ไคโรซึ่งฉันเชื่อว่ามีแรสเตอร์เซอร์เร่งด้วย GPU


น่าสนใจฉันไม่เคยได้ยิน Direct2D มาก่อน ดูเหมือนจะไม่ได้ใช้อย่างกว้างขวาง - อาจเป็นเพราะ Windows 7 เท่านั้น
CiscoIPPhone

มันเป็น Vista และ Windows 7 เท่านั้นเนื่องจากการใช้ Direct3D 10 และมันค่อนข้างใหม่ :)
Boki

2
โปรดทราบว่าการเขียนโปรแกรมเกมรายละเอียดสูงหลายพิจารณา Direct2D อันยิ่งใหญ่ - braid-game.com/news/?p=455 (ซึ่งยังเชื่อมโยงไปยังพอดคาสต์) และbraid-game.com/news/?p=466

ฉันคิดว่าwrapper ที่มีการจัดการสำหรับ Direct2D มีแนวโน้มที่จะทำงานได้ง่ายกว่าไลบรารี่ทั่วไป และการวิพากษ์วิจารณ์ส่วนใหญ่ที่ฉันได้อ่าน Direct2D ได้อ้างถึงตัวอย่างที่ปลายเดียวกันสามารถทำได้ค่อนข้างง่ายใน Direct3D แน่นอนว่ามันเกินความสามารถในการวาดรูปสี่เหลี่ยมผืนผ้า แต่มันใช้งานได้ดีกับเส้นโค้งและรูปทรงที่มีพื้นผิวที่ไม่น่าสนใจและ / หรือลูบ นอกจากนี้ D2D ไม่ได้มุ่งเน้นไปที่นักพัฒนาเกมเป็นหลัก - มีวัตถุประสงค์เพื่อให้ทางเลือกที่สมบูรณ์ยิ่งขึ้นและมีประสิทธิภาพมากกว่า GDI แต่มันทำงานร่วมกันได้ดีกับ Direct3D
Mike Strobel

3

OpenVG เป็นมาตรฐานสำหรับกราฟิกแบบเวกเตอร์ที่เร่งด้วยฮาร์ดแวร์ รองรับโดย GPU ที่กำหนดเป้าหมายไว้สำหรับอุปกรณ์มือถือเช่น Mali / PowerVR / Vivante Qt และ Cairo สามารถใช้ OpenVG เพื่อการเรนเดอร์ มีไลบรารีซอฟต์แวร์ที่ใช้ OpenVG โดยใช้ฮาร์ดแวร์ OpenGL (MonkVG, AmanithVG GLE) หรือซอฟต์แวร์เท่านั้น (AmanithVG SRE, ShivaVG, AlexVG)


2

Scaleform GFxเป็นไลบรารีมิดเดิลแวร์เชิงพาณิชย์สำหรับการรวมภาพยนตร์ Adobe Flash (การเรนเดอร์ที่ดีที่สุด, ActionScript และอื่น ๆ ) เข้ากับเอ็นจิ้นของคุณ

ในชีวิตที่ผ่านมา, codebase Scaleform Gfx ของเป็นที่ของGameSWF GameSWF เป็นโอเพ่นซอร์ส

ฉันวางแผนที่จะเพิ่มคำตอบนี้ให้มากขึ้น แต่เมื่อถึงเวลาที่ฉันกลับไปที่ประเด็นหลักส่วนใหญ่ที่ฉันต้องการที่จะตีถูกกล่าวถึงในคำตอบอื่น ๆ

สิ่งเดียวที่ฉันคิดได้ว่าเกี่ยวข้องกับวิธีใช้ Flash คือความจริงที่ว่า Adobe ได้ปล่อยซอร์สโค้ดไปยังเครื่องเสมือนจริงของ ActionScript ซึ่งตอนนี้อยู่ที่Tamarin Projectที่ Mozilla


1

หากคุณใช้ windows XP หรือต้องการบางอย่างที่ใช้งานได้กับ Windows เกือบทุกรุ่นคุณควรตรวจสอบDirectDraw (แม้ว่าจะเป็นรุ่นเก่าแล้ว) หรือGDI +หรือคุณสามารถใช้ Flash ได้ซึ่งดูเหมือนจะค่อนข้างดีสำหรับการเรนเดอร์เวกเตอร์และ ข้ามแพลตฟอร์ม


DirectDraw ถูกเลิกใช้ไประยะหนึ่งแล้วและเท่าที่ฉันรู้มันไม่มีความสามารถดั้งเดิมสำหรับการแสดงผลกราฟิกแบบเวกเตอร์ ความทรงจำของฉันคือมันอาศัยทั้งหมดบนพื้นผิวและการ blitting ฉันเชื่อว่า GDI + ไม่ได้รับการเร่งความเร็วและ GDI ในขณะที่เร่งความเร็วนั้นค่อนข้างดั้งเดิม มันจะเป็นการดีกว่าถ้าไปกับไลบรารี่อย่างไคโรที่รองรับตัวเรนเดอร์หลายตัวอย่างน้อยหนึ่งตัวรองรับการเรนเดอร์แบบ GPU Direct2D น่าจะเป็นตัวเลือกที่ดีที่สุดสำหรับ Vista และ 7
Mike Strobel

ฉันไม่ดีฉันคิดว่า GDI + ถูกเร่ง! ฉันเดา Direct2D จะเป็นตัวเลือกที่ดีที่สุดแล้วตามที่คุณพูด
dotminic

1

มีการสนทนาบางอย่างที่นี่และมีวิธีการทำงานกราฟิก SVG ในเครื่องมือเกม XNA หนึ่งที่นี่: http://wam-games.com/2010/04/svg-in-xna/ และนี่คือโพสต์ในเว็บไซต์นี้: การแสดงผล SVG ศิลปะโดยตรงใน XNA

XNA ไปป์ทุกอย่างผ่าน Direct3D อย่างที่ฉันเข้าใจดังนั้นจึงเร่ง GPU ทั้งหมด โดยทั่วไปคุณต้องตั้งโปรแกรมใน C # เพื่อใช้งาน (คุณสามารถใช้ภาษาอื่นได้ แต่คุณต้องแฮ็คด้วย) การใช้ XNA ทำให้คุณใช้ Windows ได้อย่างแน่นอน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.