Kurze erklärung zu den einzelnen Klassen:
CGraphicDevice:
Kümmert sich um die erzeugung / freigabe von direct3D und den rendervorgang von sprites und schrift. Dient auch zum Einstellen von den rendervorgängen, von denen mir z. B. Auto-Sorting mit Hilfe des Z-Buffers vorschwebt und Texturfilter, sowie multisampling und Alphablendingoperationen.
CViewport:
verwaltet einen Sichtbaren Viewport. in direct3d hat man immer einen "aktiven" viewport. im normalfall ist das der gesamte bildschirm bzw. fensterinhalt. da es ja eventuell nötig ist, dass man mehrere ausschnitte auf dem Bidlschirm braucht, bietet die engine multiple viewports an, die automatisch verwaltet werden. auch koordinatenvergabe soll unterschiedlich möglich sein (alle viewports dassselbe globale, oder jedes ein lokales). die umrechnungen sollen implizit passieren, das ihr da wenig arbeit habt und euch lästige überlegungen erspart bleiben
CRessourceManager:
diese klasse verwaltet die gesamten geladenen resourcen (werden Sprites, Animated Sprites und Fonts sein) und kümmert sich um automatische freigabe. wird als singleton im hintergrudn arbeiten, d. h. man muss sich ähnlich wie bei c#/java mit dem garbage-collector um die freigabe der ressourcenobjekte keine gedanken machen.
CRessource:
abstrakte basisklasse, von denen alle ressourcen abgeleitet werden, die der ressourcemanager verwalten soll.
CSprite:
CSprite dient zum darstellen von Bildern, mit alphablending, farbveränderungen, echtzeit skalierung und rotation. auich farbverfremdungseffekte sind damit möglich. wird auf basis von vortransformierten Rechtecken (zwei dreicke, als trianglestrip) berechnet. natürlich sind auch ausschnitte der Textur mit CSprite zu rendern!
CAnimSprite:
Bietet möglichkeiten zum anzeigen von animierten bildern, die als textur nacheinander in frames gespeichert sind. es werden verschiedene arten der animation möglich sein (vorwärts, rückwärts, jojo), unter stagnierender oder veränderlicher zeit pro frame verarbeitung. wird ohne probleme mit alphablending, farbverfremdungen skalierung und rotation kombinierbar sein.
CFont:
dioent zum darstellen von Schrift. wird vorerst auf basis von Texturen mit dem Schriftzeichen im ascii-zeichensatz erfolgeb, später wenn ich es hinbekomme werden die texturen mit hilfe von gdi generiert (spart nen bissle aufwandt

das sind so die ideen die ich zurzeit dafür habe. mögliche erweiterungen, die ich aber erst bei abarbeitung der grundfeatures adden würde:
- Shadersupport (ermöglicht weitere effekte, da wäre eine art plugin-funktion möglich, also das leichte integrieren neuer effekte unter gelcihen bedingung der nutzung durch den user des effekts!)
Aktueller Stand:
CGraphics: Grundgerüst fertig (erzeugen, Viewports erzeugen, setzen und TeilViews farbe setzen -> bildschirmlöschen)
CViewport: Grundgerüst fertig (einfache erzeugung von Viewports)
CSprite: 100% Fertig (Rendern, gesamt, Ausschnitte, Alphablending, Color-Manipulating)
CAnimSprite: 100% Fertig
CFont: 100% Fertig
CPlanetMesh: Planeten erzeugen + Textur laden, zwei effekte, Rendern
Aktuelles SDK (Stand 14.08.2008):
download
bitte readme lesen!