Hi,
meine erste Frage betrifft den Speichermanager:
Hast du dir so eine art Heapmanager geschrieben?
Wie macht man sowas? Gibt es gute Tutorials dafür?
meine zweite Frage betrifft die HTML-Log klasse:
Besteht die datei einfach nur aus (HTML)Text oder richtige Tabellen und sowas?
Kann man Tabulatoren einbauen?
und meine dritte frage:
Ich bin dabei ein Spiel oder eher erstmal eine Engine zu planen.
Allerdings habe ich ein paar probleme mit der organisation, strukturierung und namensgebung.
Meine Engine klasse sieht ungefähr so aus:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
|
class CEngine
{
CGraphics *m_pGraphics;
CInput *m_pInput;
CAudio *m_pAudio;
CNetwork *m_pNetwork;
CLog *m_pLog;
static CClassFactory *m_pClassFactory;
}
|
Sieht soweit ganz ordentlich aus denke ich.
CGraphics soll also die grafik schnittstelle darstellen.
Die klasse hat zwei Member variablen, eine vom typ CDirect3D und eine vom typ COpenGL.
Die CGraphics klasse bzw die Methoden dieser klasse sollen nun die grafik daten
also vertices und texturen an eine der klassen, je nachdem was man ausgewählt hat, weiterleiten.
Ich habe das jetzt mal so gemacht, dass die CGraphics methoden die daten zB in der form
CVertexBuffer und CTextureIndex bekommen.
Jetzt sollen die Methoden aus dem TextureManager die Texturen raussuchen(CTexture).
Jetzt werden diese typen entweder in CD3D... oder COGL... typen umgewandelt werden.
Diese klassen sind dann speziell für OpenGL oder D3D zugeschnitten.
Ich weiß jetzt allerdings nicht ob das sehr sinnvoll ist :-)
und ob irgendwo Probleme auftreten könnten.
Und dann hab ich noch ein paar klassen
wo ich mir noch über den namen und die extras gedanken mache:
------------------------------------------------------------
CMesh
Was soll diese klasse alles enthalten?
Ich habe mir gedacht: Vertices und Texturen (also den Index der Textur)
kann man denke ich für statische objekte verwenden.
CModel
Diese Klasse enthält bei mir:
Ein Modell mit Animationen, Lichtern, Decals, Effekten wie Partikelsystemen usw.
CObject
Diese Klasse steht für ein richtiges Spiel Objekt, also mit KI.
------------------------------------------------------------
Diese 3 Klassen sind sozusagen die High Level Klasse, die also in der Game Klasse verwendet werden.
Sie bestehen alle aus den einfacheren low level Klassen wie CVertexBuffer und CTextureIndex usw.
Die high level klassen haben eine eigene draw methode, die low level klassen nicht. Sie werden an funktionen übergeben.
Ich weiß jetzt nicht, ob ich die Effekt und Lichter mit in die Model klasse tun sollte
oder eher in die Object klasse oder ganz woanders hin, und ob das mit der Mesh klasse sinnvoll ist.
Scheiss viel Text :-)