Du bist nicht angemeldet.

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!

Suchergebnisse

Suchergebnisse 1-20 von insgesamt 42.

Werbeanzeige

12.06.2009, 14:55

Forenbeitrag von: »PatrickB«

Zugsimulator - Strecke vorgeben

Zitat von »"dot"« Ich würde die Strecke aus Kreisbögen und Geraden zusammensetzen. Erstens is das wohl realistischer und zweitens hast du bei Splines das Problem dass du einen Spline nicht so einfach mit konstanter Geschwindigkeit durchfahren kannst... Hm..die Idee mit den Splines find ich eigentlich ganz gut, wieso kann ich nicht mit konstanter Geschwindigkeit fahren? Wenn ich jetzt auch noch Steigungen einbauen will, dann müsst ich ja einfach nur eine zweites Spline parallel dazu laufen lasse...

12.06.2009, 14:28

Forenbeitrag von: »PatrickB«

Zugsimulator - Strecke vorgeben

Also so ungefär: ExternesOriginalbildanzeigen(Link) Dann von P1 nach P2 berechnen, dann P2 nach P3, P3 und P4?

12.06.2009, 14:18

Forenbeitrag von: »PatrickB«

Zugsimulator - Strecke vorgeben

Hallo, ich bin gerade dabei einen einfachen Zugsimulator in 3D zu programmieren. Ich bin schon soweit, dass ich den Zug habe und einen kleinen Teil der Strecke worauf man den Zug bewegen kann. Jetzt will ich natürlich eine Gleisstrecke anlegen die der Zug entlang fährt wenn man Gas gibt. Wie schaffe ich es nun, dass der Zug eine bestimmte Strecke entlang fährt? Muss ich das mit If-Abfragen machen, d.h. wenn der Zug an eine Kurve kommt, muss ich ihn an der Stelle P(0|1) um 1° nach links drehen, a...

02.06.2009, 13:29

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

Ok, hab wieder eine neue Frage: Wie kann ich auf die einzelnen Vertices eines Meshes zugreifen? Also ich will ein Terrain erstellen auf dem Objekte bewegt werden können. Und wenn das Terrain eine Erhöhung hat, muss das Objekt auch nach oben verschoben werden. Wie genau ich das berechnen muss weiß ich (http://www.toymaker.info/Games/html/terrain_follow.html) aber dazu brauche ich immer die 3 Koordinaten eines Dreiecks um daraus eine Ebene auszurechnen und so den Schnittpunkt bestimmen zu können. ...

02.06.2009, 10:54

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

Irgendwie klappt das immer noch nicht so ganz so wie das da steht. Das 1. Subset wird immer richtig gezeichnet aber die restlichen sind falsch weil das Minimum und Maximum nicht stimmt =( EDIT: Juhu, endlich. Durch einen Zufall hab ich jetzt herausgefunden wie es funktioniert. Nur weiß ich nicht wieso es jetzt so funktioniert: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 DWORD add = 0; meshModel->LockVertexBuffer(D3DLOCK_READONLY, (LPVOID*)&pvoid); for(i = 0; i < dwTableSize; i++) { D3DXCom...

01.06.2009, 23:31

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

So, habe wieder ein Problem, bzw. habe ich bis dato ein Problem nicht richtig gelöst. Und zwar geht es wieder um die BoundingBox. Hier erstmal der Code: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 meshModel->GetAttributeTable(pAttribTable, &dwTableSize); VOID* pvoid; boundbox = new sboundbox[dwTableSize]; meshModel->LockVertexBuffer(D3DLOCK_READONLY, (LPVOID*)&pvoid); for(i = 0; i < dwTableSize; i++) { D3DXComputeBoundingBox((D3DXVECTOR3*)pvoid, pAttribTable[i].VertexCount, D3D...

30.05.2009, 16:16

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

Ok, andere Frage. Wenn ich in DirectX Lighting auf FALSE schalte, sieht man ja die Farben der Verices die ich mit dem FVF erstelle. Wenn ich Lighting auf TRUE schalte seh ich meine Meshes farbig. Wie kann ich beide Sachen gleichzeitg mit Farbe sehen? Also die Vertices nehmen immer die Farbe an des zuletzt geladenen Modells. Danke schonmal

30.05.2009, 10:59

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

Ok, habs jetzt doch eeeeeeeeeeeeeeendlich hinbekommen. Jetzt will ich die Werte der 8 Eckpunkte des Quaders ausrechnen mit einer Funktion: C-/C++-Quelltext 1 2 3 4 5 void GetBoundingBoxValues(D3DXVECTOR3 *array[8], D3DXVECTOR3 minBounds, D3DXVECTOR3 maxBounds) { // We have min and max values, use these to get the 8 corners of the bounding box *array[0] = D3DXVECTOR3( minBounds.x, minBounds.y, minBounds.z ); // xyz ..... Dazu rufe ich die Funktion so auf: C-/C++-Quelltext 1 GetBoundingBoxValues(&...

29.05.2009, 17:19

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

So weit bin ich jetzt: C-/C++-Quelltext 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 meshSpaceship->Optimize(D3DXMESHOPT_ATTRSORT, NULL, NULL, NULL, NULL, &meshSpaceship); //meshSpaceship->GetAttributeTable(0, &dwTableSize); D3DXATTRIBUTERANGE *pAttribTable = new D3DXATTRIBUTERANGE [dwTableSize]; if (FAILED (meshSpaceship->GetAttributeTable(pAttribTable, &dwTableSize))) { assert (0==1); } VOID* pvoid; test = pAttribTable[0].VertexStart; meshSpaceship->LockVertexBuffer(...

29.05.2009, 09:33

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

Ah ok, bei der BoundingBox-Funktion muss rein - korrigiert mich wenn ich falsch liege: Zitat sizeof(sboundbox) Edit: Und bei C-/C++-Quelltext 1 sboundbox boundbox[dwTableSize]; geht das wohl nur mit einem dynamischen Array, so wie ich das weiter oben schon habe, oder? So siehts jetzt aus: C-/C++-Quelltext 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 meshSpaceship->Optimize(D3DXMESHOPT_ATTRSORT, NULL, NULL, NULL, NULL, &meshSpaceship); DWORD dwTableSize = 0; D3DXATTRIBUTERANG...

29.05.2009, 09:10

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

So, also nach langem suchen hab ich jetzt was zusammenbasteln können: C-/C++-Quelltext 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 meshSpaceship->Optimize(D3DXMESHOPT_ATTRSORT, NULL, NULL, NULL, NULL, &meshSpaceship); DWORD dwTableSize = 0; D3DXATTRIBUTERANGE *pAttribTable = new D3DXATTRIBUTERANGE [dwTableSize]; if (FAILED (meshSpaceship->GetAttributeTable (pAttribTable, &dwTableSize))) { //assert (0==1); } void* pVertices = NULL; struct sbound...

28.05.2009, 19:27

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

Okay Danke! Ich werds probieren =)

28.05.2009, 19:07

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

Wie berechne ich jetzt die Box für ein Subset? Ich lad ja immer das ganze Mesh (m_Mesh) welches die einzelnen Subsets enthält: C-/C++-Quelltext 1 m_Mesh->LockVertexBuffer(D3DLOCK_READONLY, (LPVOID*)&pVertices); Und dann bekomm ich ja die Vertices von allen Subsets zurück.

28.05.2009, 18:36

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

Wie kann ich die Modelle splitten? Oder meinst du extra Dateien anlegen?

28.05.2009, 17:57

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

Jaaaaaaaa!! Ich glaub das ist das was ich gesucht habe =) Nun ist das aber noch so, dass ich z.B. für einen Tisch nicht nur eine Box haben will sondern 2 (für den Fuß und die Platte). Die kann man ja auch in einem X File speichern. Also sozusagen hab ich dann 2 Models (die Quader) in einer X File Datei drin und will jede einzeln laden. So wie wenn ich 2 Subsets habe. Wie mach ich das? Muss ich dann D3DXComputeBoundingBox in eine Schleife packen so wie wenn ich die Materialien zuordne: C-/C++-Que...

28.05.2009, 17:43

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

Und wie berechne ich die?

28.05.2009, 17:32

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

Ja, das Tutorial ist schon mal nicht schlecht, aber ich weiß immer noch nicht wie ich damit jetzt 2 Modelle auf Kollision untersuchen soll. Ich will später mit Bounding Boxes arbeiten, also die Kollision würde dann nur die Berechnung zwischen Quadern und Quadern und auch Kreisen erfordern. Aber dazu brauche ich ja die einzelnen Koordinaten so wie sie im X File drin stehen.

28.05.2009, 11:52

Forenbeitrag von: »PatrickB«

*.X File in eine Klasse laden

Hi, ich bin gerade dabei Modelle auf Kollisionen zu prüfen. Dazu brauche ich natürlich auch die Koordinaten der Modelle. Bis jetzt lade ich das X File noch so: C-/C++-Quelltext 1 LPD3DXMESH meshSpaceship; C-/C++-Quelltext 1 2 3 4 5 6 7 8 D3DXLoadMeshFromX("cube.x", // load this file D3DXMESH_SYSTEMMEM, // load the mesh into system memory d3ddev, // the Direct3D Device NULL, // we aren't using adjacency &bufShipMaterial, // put the materials here NULL, // we aren't using effect instances &numMate...

23.04.2009, 17:33

Forenbeitrag von: »PatrickB«

DrawPrimitive Problem

Interessant. Das ist mal ne echt gute Antwort Vielen Dank!!

23.04.2009, 16:51

Forenbeitrag von: »PatrickB«

DrawPrimitive Problem

Hi, ich arbeite gerade dieses Tutorial durch: http://www.directxtutorial.com/Tutorial9/B-Direct3DBasics/dx9B4.aspx Das klappt auch so wie es dort steht. Jetzt wollte ich etwas mit den Werten rumprobieren und schon passiert der erste Fehler. Ich habe zuerst ein Dreieck erstellt mit: Quellcode 1 d3ddev->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 1); Jetzt wollte ich stattdessen aber nur die Linien verbinden: Quellcode 1 d3ddev->DrawPrimitive(D3DPT_LINELIST, 0, 1); Wenn ich das Programm starte funktionie...

Werbeanzeige