batzerdev

Just another WordPress.com site

Neue Seite und neues zu Batzer2D 2.0!

Veröffentlicht von batzerdev am November 30, 2011
Posted in: News. Hinterlasse einen Kommentar

Nach nun beinah 6 Monaten habe ich mich entschloßen auf einen anderen Blog umzusiedeln. WordPress gefällt mir einfach besser als BlogSpot, da es einfacher ist etwas schön zu formatieren, was bei BlogSpot manchmal etwas hackelig war.

In den ganzen Wochen habe ich natürlich auch an Batzer2D 2.0 gearbeitet. Es hat sich herausgestellt, dass es doch etwas mehr Arbeit ist als vorerst erwartet und dann habe ich mich auch noch entschieden von Direct3D9 auf Direct3D11 umzusteigen, weil es einfach moderner ist und immer mehr Leute Windows Vista/7 besitzen, was eine zwingende Voraussetzung für Direct3D11 ist. Es hat natürlich einiges an Zeit in Anspruch genommen um die neue API zu lernen und mit der Zeit wollte ich auch immer mehr Features in das Framework einbauen. Das Design des Frameworks wurde bestimmt auch gute 3 Mal komplett von vorne begonnen. Nun habe ich jedoch endlich ein Design was mir zusagt und gleichzeitig eine passable Geschwindigkeit und Benutzerfreundlichkeit besitzt. Batzer2D 2.0 wird voraussichtlich nach Weihnachten jedoch noch vor Silvester fertig sein. Garantieren werde ich es an dieser Stelle jedoch nicht, da noch der komplette Audio-Teil des Frameworks fehlt und auch noch kein API Design entworfen wurde.

Zu guter letzt möchte ich gerne den neuen Aufbau von Batzer2D 2.0 erklären. Das Framework wurde in 3 seperate Module aufgeteilt (Core, Graphics & Audio).

Bei dem Core-Modul handelt es sich um ein kleines eigenständiges Framework was diverse Funktionen für Multithreading, Lesen und Schreiben von Datein, Smart-Pointer und Mathe, wie z.B. 4×4 Matrizen oder 2D Vektoren, bereitstellt. Es dient außerdem als Basis für die beiden anderen Module.

Das Graphics-Modul bietet viele Funktionen für das Zeichnen im 2D Raum. Es wurde so entworfen, dass man sehr schnell und einfach ein Fenster erstellen und einen Sprite oder Text hineinzeichnen kann. Dies ist praktisch wenn man mal eben schnell ein kleines Spielchen oder ähnliches erstellen will. Jedoch ist es bei größeren Projekten oft der Fall, dass aufwendigere Effekte, wie z.B. Beleuchtung oder Schatten, erwünscht sind oder aber das Zeichnen für großer Mengen an Daten optimiert werden soll um eine optimale Performance zu erreichen. Dies ist mit der Low-Level API des Graphics-Moduls möglich. Sie erlaubt einem eigene Zeichenoperationen zu benutzen, indem Shader, Texturen, Vertex-Buffer, Index-Buffer oder aber auch eigene Render-Targets erstellt und benutzt werden können. Darüber hinaus bietet die API einem diverse Render-States oder Blend-Modes zu setzen. Diese Flexiblität erlaubt es einem eine komplett inviduelle Rendering-Pipeline zu programmieren. Dabei wurde auch beachtet, dass die Benutzerfreundlichkeit nicht zu kurz kommt.

Das Audio-Modul bietet Funktionen zum Abspielen von Sounds oder Soundstreams. Einfache Effekte und Filter wie einen Echo oder Low-Pass-Filter kann man ebenfalls benutzen. Wie man sieht ist das Audio-Modul nicht besonders groß, was daran liegt, dass im 2D Raum die Sounds keine echte Position mit Surround-Sound bieten können, da eine Dimension einfach fehlt.

Ich hoffe die Erklärung war halbwegs verständlich. Das Core-Modul ist bereits fertig und das Graphics-Modul sollte ebenfalls in den nächsten 2 bis 3 Wochen fertig werden. Nur das Audio-Modul ist noch angefangen worden, allerdings sollte es nicht allzu lange daueren bis es fertig ist.

MfG Batzer

Posts navigation

  • Aktuelle Beiträge

    • Neue Seite und neues zu Batzer2D 2.0!
  • Archiv

    • November 2011
  • Kategorien

    • News
Bloggen Sie auf WordPress.com. Theme: Parament von Automattic.
Follow

Bekomme jeden neuen Artikel in deinen Posteingang.

Powered by WordPress.com