Frage

Ich habe an einer kleinen Anwendung gearbeitet und DirectX/3D verwendet, um Texturen auf den Bildschirm zu zeichnen (alle zweidimensionalen Elemente). Ich finde, die API ist ziemlich einfach zu bedienen und die Verwendung von OOP-Prinzipien zu integrieren, aber ich kann nicht anders, als zu spüren, dass die Verwendung von DirectX auf etwas so Kleines wahnsinnig übertelligent ist.

Ich kann jedoch keinen Konsens über eine gute Alternative finden. Irgendwelche Vorschläge?

BEARBEITEN: Native Alpha-Bellungs- und PNG-Dateiunterstützung ist erforderlich.

Mit viel Liebe, Jengerer, Jengerer

War es hilfreich?

Lösung

Wenn Sie Alpha -Mischungen benötigen, müssen Sie die Grafikhardware verwenden. Die einzige gute Möglichkeit, dies zu tun, besteht darin, eine 3D -API zu verwenden, die dem jetzt ähnlich ist (DirectX oder OpenGL). Jede Alternative (GDI/+ oder Say, DirectDraw) verwendet die vollständige Grafikhardware nicht zum Beschleunigen der Mischung und muss sie auf der CPU durchführen, was die Leistung erheblich verringert.

Wie bereits erwähnt, ist Direct2D auch eine Option-es ist funktional eine Ebene über Direct3D, die mehr 2D-spezifische Funktionen sowie eine hervorragende Textunterstützung unterstützt.

Andere Tipps

Wenn Sie keinen XP -Support benötigen, verwenden Sie Direct2d.
Ansonsten verwenden Sie GDI+.

Windows enthält eine aus der Box. (GDI32.dll). Es ist möglich, sich in die zu schließen WM_PAINT Nachricht im WindowsProc -Anruf und verwenden Sie BeginPaint() Zeichnen. Eine wirklich gute Vorstellung davon, was getan werden kann, und ein grundlegendes Tutorial ist verfügbar Zetcode.

Ich habe benutzt Gosu in der Vergangenheit, und es war in Ordnung, damit zu arbeiten. Es wurde so konzipiert, dass es mehr mit Ruby verwendet wird, aber es ist nicht schlecht für C ++. Wir haben es in einem schnellen Side Scroller-Spiel verwendet, bei dem wir uns mit Z-Order und dem Alpha-Kanal durcheinander gebracht haben. Es könnte sich lohnen, es zu überprüfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top