2D Spiele-Engine für Vektorgrafik

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

2D Spiele-Engine für Vektorgrafik

Beitrag von TroaX »

Halli Hallo

Ich hoffe ich werde nicht gleich erschlagen. Ich habe die SuFu genutzt. Allerdings kein passendes Thema gefunden.

Ich suche eine Bibliothek oder andere Möglichkeit, Vektorgrafiken performant in ein Spiel zu integrieren. Denn es bietet doch einige schöne Vorteile. Zum einen muss ich mir nur um die Skalierung der Vektor-Sprites gedanken machen. Bei hohen Auflösungen immer noch saubere Kanten, schöner und einfacher Grafikstil und da ich zwar Webdesigns oder Logos erstellen kann, aber bei Spielegrafiken völlig scheitere *schäm* dachte ich mir könnte man mit Pfadzeichnungen etwas schummeln.

Natürlich könnte ich auch die Vektorgrafiken in Bitmaps umwandeln und dann einbinden. Nur dann muss ich die Bilder entweder in den Sprites resizen, was sehr Rechenintensiv werden würde oder für die verschiedenen Auflösungen auch Bilder in den verschiedenen Auflösungen liefern. Das bedeutet ich bräuchte Grafiksets für die Auflösungen ???X600, ???X768, ???X1024, ???X1050, ???X1080. Das würde das Spiel nur unnötig aufblähen.

Das einzige was ich gefunden habe hier im Forum war die SDL_svg Lib. Diese steht aber anscheinend nur für Linux zur Verfügung. Alle anderen Libs zu diesem Thema sind explizit nur für die Darstellung der SVG's ausgelegt und scheinen zumindest für den Spieleeinsatz weniger zu taugen. Flash kann es ja auch. Also Vektorgrafiken in Spielen nutzen. Dann sollte es doch auch eine gute Lib für native Spiele geben.

Danke im vorraus.
MFG TroaX
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: 2D Spiele-Engine für Vektorgrafik

Beitrag von Danilo »

Du kannst mal cairo probieren, das ist platformunabhängig. Wenn die direkte Performance nicht
ausreicht, dann eben einmal (beim laden) in ein Sprite/Image rendern. Dann musst Du nicht alle
Auflösungen als Bitmaps mitliefern, sondern nur die Vektorgrafiken - die Bitmaps werden dann
zur Laufzeit erstellt, was nur einem laden + rendern entspricht.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: 2D Spiele-Engine für Vektorgrafik

Beitrag von Danilo »

Hier noch die cairo Include für PB/Windows.

Original von hichem (engl. Forum): cairo_1.8.0.zip

Geänderte Version von mir: cairo_1.10.2.zip
- Etwas neuere Libs
- Läuft mit PB 5.10 (*pointer.i geändert)
- Hab mal 3 eigene Fotos beigelegt, dann läuft es sofort ;)
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: 2D Spiele-Engine für Vektorgrafik

Beitrag von TroaX »

Supi. Vielen Dank. Schau ich mir mal an :-)
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: 2D Spiele-Engine für Vektorgrafik

Beitrag von TroaX »

Sooo hatte mal Zeit mich etwas damit zu beschäftigen. Ich denke mal Cairo ist von der Performance her bestimmt besser als 2D Drawing. Aber ich habe mir auf der Seite von Cairo dort das Kochbuch und die API angesehen. Cairo ist im Grunde nichts weiter als ein Zeichenwerkzeug ähnlich wie die 2D Drawing in PB. Der große Vorteil von Cairo sind im Grunde die Surface's, in dem die gezeichneten Elemente schon in einem bestimmten Format gespeichert werden, um die Entsprechend zu exportieren. Wenn ich das SVG-Surface nutze und mit Cairo etwas zeichne kann ich den Content des Surface's exportieren und habe da direkt das SVG Format. Aber den SVG-Parser sowie die Zeichenfunktionen muss ich selbst schreiben. Es beherscht das SVG als Datei eingehend von Haus aus also nicht.

Aber trotzdem Danke für den Tipp. Wenn ich mal ne gute Drawing-Engine brauch, werde ich mich mit dieser mal versuchen :-)
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: 2D Spiele-Engine für Vektorgrafik

Beitrag von Danilo »

Mir ist nicht ganz 100%ig klar ob Du etwas platformunabhängiges suchst. Wenn Windows reicht, kannst Du
mal gDrawing testen. Kann aber nur .emf speichern/laden: gDrawing_v0.85b2.zip, Beispiele 25 und 26.
Direkt ist das bestimmt auch nicht performant genug (wegen ganzem AntiAliasing usw.), aber beim laden in Sprite/Image rendern
sollte gehen.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: 2D Spiele-Engine für Vektorgrafik

Beitrag von TroaX »

Naja so wie es aussieht muss man denke ich mal das Ergebnis sowieso in einen Sprite laden. Aber das sollte kein Problem sein. Wichtig ist mir nur, das die Lib die Vektorgrafiken Rendert. Das Rendern kann ich ja in einem Loadscreen abarbeiten lasse.

Danke für den Tipp. Ich schau es mir mal nachher an :-)
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Antworten