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!

Werbeanzeige

Anonymous

unregistriert

1

14.12.2005, 13:59

Beispielprogramm Nr. 5 (Vertex & IndexBuffer)

Moin. Hab das Beispielprogramm geschrieben mit dem eretellen der Vertex und Index Buffer. Hat auch alles geklappt hat die ganze sache Kompiliert. Doch wenn ich die Exe ausführen will kommt ja erst der einstell Dialog, dann öffnetr sich das Fenster, und genau das bleibt schwarz! Dann schmiert mein Rechner Total ab. Jetz wollt ich nur mal fragen wopran das liegen kann? Zab den Quellcode jetz nicht mehr , hab dann den Musterquode vonn der CD genommen dann liefs... Kann es vielleicht an der Zeitfunktion gelegen haben? Also an der Move() funktion? Weil da stand im Buch ja als Quode:

C-/C++-Quelltext

1
2
3
4
move(int fTime)
{
fTime += fTime;
...


aber im Quellcode der CD stand:

C-/C++-Quelltext

1
2
3
4
5
move(fNumSecsPassed)
{
fTime += fNBumSecsPassed
...
}


Vielleicht das mir da dann irgendwie alle Rechnungen mit der Zeit durcheinander gekommen sind? Kann deshalb das Programm abschmieren?

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

2

14.12.2005, 14:58

also die zweite version ist definitiv richtig
du musst fTime (globale zeit Variable) um den Wert fNumSecsPassed erhöhen. deswegen finde ich auch besser g_fTime, da das verdeutlicht das das ne globale Variable ist.
die erste Version ist falsch und ich denke es lag daran...
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

3

14.12.2005, 15:22

also hab grad nochmal nachtgeschaut:
in dem buch 2te Auflage steht es so:

C-/C++-Quelltext

1
2
3
4
move(float fTime)
{
g_fTime += fTime;
...

das ist etwas anderes!!!! g_fTime ist die globale Zeitvariable und fTime die vergangene Zeit vom letzten Frame! ich finde den Namen fNumSecsPassed besser weil da eben solche Missverständnisse nicht auftreten können...
aber so kommts wenn der Code im Buch älter ist als der auf der Cd...
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

14.12.2005, 16:20

@Fritzi ist dir das intschon aufgefallen? ;)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

5

14.12.2005, 16:22

oooops sry hab den code aus dem post von MetCiple kopiert ^^
muss natürlich float heisen
und übrigens das heist Fitzi und nicht Fritzi ^^
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

MetCiple

Frischling

Beiträge: 18

Beruf: Schueler

  • Private Nachricht senden

6

15.12.2005, 13:49

Okay. werd das dann nochmal alles überarbeiten (das mit den Zeiten...)

Aber wie kommt es das dewegen ein Prog. abschmieren kann?

Anonymous

unregistriert

7

16.12.2005, 13:50

Ich verstehe gar nicht erst, warum er das überhaupt kompiliert hat. Schließlich werden sowohl die Move-Funktion als auch die Render-Fumktion an DoMessageLoop übergeben. Diese Funktion erwartet allerdings zwei Funktionen mit jeweils einem float-Parameter. Daran liegt es wahrscheinlich auch, dass das Programm abgeschmiert ist

Werbeanzeige