Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Administrator
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
class Modificator { protected: char* pName; // Name des Modifikators float Quality; // Qualitätsfaktor (muss nicht für alle Mod's gelten) bool Bypass; // true, wenn der Modifikator übergangen werden soll public: // Diese Methode führt die eigentliche Arbeit an einem Objekt aus. void Work(Object& obj); // Liefert eine Flag-Kombination, die besagt, welche Daten // der Modifikator als Eingabe benötigt. // Z.B. sowas wie VERTICES | MATRIX, wenn der Modifikator // die Vertizes des Objekts und die Transformationsmatrix benötigt. dword GetInput(); // Liefert die Flag-Kombination für die Daten, die vom Modifikator // verändert wird. dword GetOutput(); GetName, GetQuality, SetQuality,... }; |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
class Object { protected: // Das ist die Liste der Modifikatoren des Objekts vector<Modificator*> Modificators; // Position, Geschwindigkeit, Achsen, Winkelgeschwindigkeit // und Transformationsmatrix Vector3D Position, Velocity, Axis[3]; float AngularVelocity[3]; Matrix4x4 Matrix; // Vertex- und Indexdaten PDIRECT3DVERTEXBUFFER9 pVB; PDIRECT3DINDEXBUFFER9 pIB; // Attributdaten (Einzelteile des Objekts mit verschiedenen // Render-Einstellungen) struct Attribute { // D3DX-Effekt dieses Attributs, auch Shader möglich! LPD3DXEFFECT pEffect; dword StartIndex; dword NumPrimitives; D3DPRIMITIVETYPE PrimitiveType; }; vector<Attribute> Attributes; public: void RenderGraph(); void AttachModificator(Modificator* m); Modificator* FindModificator(char* pName); void DeleteModificator(char* pName); ... GetModificatorList, GetXXX... }; |
Administrator
Quellcode |
|
1 2 3 4 5 6 7 |
Terrain +-- Haus1 | +-- Modell1 | +-- Modell2 | +-- Waffe +-- Haus2 +-- Modell1 |
Administrator
Werbeanzeige