Suche simple Grafik- u. Sound-API.



  • Hi, sie sollte folgenden Kriterien gerecht werden:
    Sie sollte möglichst..
    - ...systemunabhängig,...
    - ...einfach u. logisch zu bedienen (unkriptisch) sein
    - ...in etwa so wie in dem folgenden Beispiel funktionieren u. vorallem diese beispielhaften Funktionen haben,
    Beispiel:
    "
    TonErzeugen(HZ,Lautstärke,Dauer);
    PixelErzeugen(X,Y,R,G,B);
    PixelMouseZeigerKollision(X,Y,Zeit)<<..das muss nicht, wär aber nicht übel..
    "
    PS: Muss natürlich nicht deutsch sein. 😉

    Bisher viel gesucht, Nicht-gefunden und verzweifelt.
    Hoffe jemand von euch hat ne' Idee! 😋



  • sC++k schrieb:

    - ...wenn nicht sogar absolut systemunabhängig,...

    Das ist kein Satz, da fehlt was. Das was du suchst gibt's aber nicht (komplett systemunabhängig).

    sC++k schrieb:

    PixelErzeugen(X,Y,R,G,B);
    ...

    Was sollen die Funktionen tun?
    Wir können nicht hellsehn, weisste...



  • hustbaer schrieb:

    sC++k schrieb:

    - ...wenn nicht sogar absolut systemunabhängig,...

    Das ist kein Satz, da fehlt was. Das was du suchst gibt's aber nicht (komplett systemunabhängig).

    Verstehe, dann halt möglichst multiplattformfähig.
    Aber gibt es denn keinen Maschinencode(-Sprache) der auf jeder Maschine läuft!
    Zum Satzbau:
    Ich weiß, klingt etwas wirr, ist aber glaub' ich tatsächlich einer,
    wenn auch ein fragwürdiger! Aber na gut.
    Sorry, hab's verbessert.

    hustbaer schrieb:

    sC++k schrieb:

    PixelErzeugen(X,Y,R,G,B);
    ...

    Was sollen die Funktionen tun?
    Wir können nicht h(H ⚠ )ellsehn, weisste...

    ⚠
    Ach, komm'! Bist du schlecht drauf gewesen als du das geschrieben hast o. warste verträumt? 🙄
    Ist doch offensichtlich dass diese imaginäre Funktion einen Pixel auf dem Screen erzeugen soll
    und die dadrüber einen Ton auf Wiedergabegerät. 💡



  • Du könntest dir SFML anschauen. Aber die Zeiten, wo man einzelne Pixel zeichnet und einzelne Töne ausgibt, sind längst vorbei... Es ist natürlich immer noch möglich, aber APIs sind nicht direkt darauf ausgelegt.



  • SFML kann ich auch empfehlen, das ist, finde ich, einfach sehr klar aufgebaut... Es geht auch für verschiedene Platformen und theoretisch könntest du damit sogar einen einzelnen Pixel zeichnen^^

    Für ganz simple sounds gibts so ein nettes Progrämmchen, heißt glaub sfxr oder so...

    LG



  • Nexus schrieb:

    Du könntest dir SFML anschauen. Aber die Zeiten, wo man einzelne Pixel zeichnet und einzelne Töne ausgibt, sind längst vorbei... Es ist natürlich immer noch möglich, aber APIs sind nicht direkt darauf ausgelegt.

    Was ist denn dann darauf ausgelegt?



  • SDL



  • hardware schrieb:

    SFML kann ich auch empfehlen, das ist, finde ich, einfach sehr klar aufgebaut... Es geht auch für verschiedene Platformen und theoretisch könntest du damit sogar einen einzelnen Pixel zeichnen^^

    Für ganz simple sounds gibts so ein nettes Progrämmchen, heißt glaub sfxr oder so...

    LG

    Danke, aber es geht mir nicht um simple Sounds, die ich mal hier und da einbinden will.
    Ich hab vor einen performancestarken, effizienten Music Sequenzer u, Game Engine zu programmieren, wo ich eine gewisse Kontrolle über Algoritmen hab, bei Grafikdarstellung, EQ und so weiter.



  • sC++k schrieb:

    hardware schrieb:

    SFML kann ich auch empfehlen, das ist, finde ich, einfach sehr klar aufgebaut... Es geht auch für verschiedene Platformen und theoretisch könntest du damit sogar einen einzelnen Pixel zeichnen^^

    Für ganz simple sounds gibts so ein nettes Progrämmchen, heißt glaub sfxr oder so...

    LG

    Danke, aber es geht mir nicht um simple Sounds, die ich mal hier und da einbinden will.
    Ich hab vor einen performancestarken, effizienten Music Sequenzer u, Game Engine zu programmieren, wo ich eine gewisse Kontrolle über Algoritmen hab, bei Grafikdarstellung, EQ und so weiter.

    Das macht man erst recht nicht mit Pixel setzten und einzelnen Ton abspielen!



  • performancestark und einzelne Pixel setzen schließen sich aus. Im Gegenteil: du versuchst so wenig Befehle wie möglich an die Grafikkarte zu senden.



  • Falsche Herangehensweise?

    Nicht unbedingt, denn ich möchte ja eine Voxel Cloud Engine mit Unlimited Detail 😋 Suchalgoritmen schreiben, da muss man jeden Pixel auf dem Bildschirm jederzeit im Griff haben. 💡 Und bei der Audio-Sache möchte ich EQs, Plugins u. die Möglichkeit Sounds zu schneiden u. so weiter. Ich wiederhole nochmal: "Ich möchte nicht nur solide Sounds "abspielen" können, sondern diese auch detailiert bearbeiten können."



  • sC++k schrieb:

    Nicht unbedingt, denn ich möchte ja eine Voxel Cloud Engine mit Unlimited Detail 😋 Suchalgoritmen schreiben, da muss man jeden Pixel auf dem Bildschirm jederzeit im Griff haben. 💡 Und bei der Audio-Sache möchte ich EQs, Plugins u. die Möglichkeit Sounds zu schneiden u. so weiter. Ich wiederhole nochmal: "Ich möchte nicht nur solide Sounds "abspielen" können, sondern diese auch detailiert bearbeiten können."

    Man macht es nicht so.
    Glaub uns.
    Das ist der total falsche Weg.
    Schau dir irgendeine 3D Engine an oder wenn du LL haben willst OpenGL + SFML/....
    Aber so geht das nicht.



  • Ich lach mal schnell bei den Zielen und der Ausgangssituation und ermuntere zur Schließung des Threads.



  • Warum schließen? Wird lustig!



  • sC++k schrieb:

    Falsche Herangehensweise?

    Nicht unbedingt

    Doch, total. Die Logik "ich muss volle Kontrolle haben => ich muss einzelne Pixel zeichnen" ist schlicht falsch. Einzelne Pixel zu zeichnen ist extrem langsam. Auch bei volumetrischen Daten gibts tausende Optimierungen, meist im Bezug auf Raytracing.

    Falls du ernsthaft an einer solchen Engine interessiert bist, schaust du dir am besten OpenGL oder DirectX an. Aber sei dir bewusst, dass die Entwicklung Jahre benötigt, wenn du die neuesten Techniken benutzen willst und das letzte Stück Performance herausholen willst. Wenn du also vorhast, in naher Zukunft ein Spiel zu entwickeln, rate ich dir eher zu Bibliotheken wie SFML.



  • Man macht es nicht so.

    Quatsch. Voxel-Engine ist ok. Gibt einige populaere Vertreter, sowohl pure als auch hybrid.

    denn ich möchte

    Eins nach dem anderen. Baue doch erstmal eine Voxel-Engine. Unlimited Detail halt ich fuer einen Trollversuch.



  • knivil schrieb:

    Unlimited Detail halt ich fuer einen Trollversuch.

    Siehe auch hier 🙂



  • was ist eigentlich mit "unkriptisch" gemeint (steht im eröffnungspost)?



  • knivil schrieb:

    Man macht es nicht so.

    Quatsch. Voxel-Engine ist ok. Gibt einige populaere Vertreter, sowohl pure als auch hybrid.

    Aber auch die packen das voxel array in die Graka und hauen dann einen Raycaster drüber.



  • Dann erklärt mir doch mal wie man gezielt solche Algoritmen programmieren soll, wenn man für jeden einzelnen Pixel ein Voxel berechnen muss, ohne auf jeden einzelnen Pixel und deren Koordinaten sowie RGB-Werte Zugriff zu haben? 😉

    Das ist halt das Prinzip dahinter. Es müssen dadurch keine Texturkoordinaten sowie Vektoren berechnet werden(außer bei Physik u. Animation).
    Das spart im großen u. ganzen immens Rechnleistung u. macht das Dargestellte im stillstand oder bei Cam-Bewegung unabhängig von der Menge die dargestellt werden kann. Somit hängt die Komplexität des Dargestellten nur von der Arbeitspeicher u.Festplatten-Kapazität ab,
    welche für komplexe Darstellung in dieser Form rechnerrisch aber im erträglichen Bereich sein sollte.

    Eine Frage hierzu: Was Glaubt ihr welche Rechenleistung min. notwendig sein sollte damit man "2073600" Pixel(FullHD) in die Ablage kopieren kann
    und damit 60 Bilder pro Sekunde auf den Bildschirm flippen kann?

    PS:
    unkriptisch = (z.B)logisch, allgemeinverständlich, selbsterklärend, schemenhaft
    Ich kann hier aber auch ein Wörterbuch empfehlen 😉 :
    http://www.woerterbuch.info.


Anmelden zum Antworten