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

Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

21

01.01.2009, 20:59

Hoffe das ist der richtige Thread für Fehler im Buch ..

Seite 47 Thema Richtungsvektoren:

Zitat


ein Richtungsvektor ist also aus zwei Größen zusammengesetzt: aus der eigentlichen Richtung in der Form(x,y,z) und der Geschwindigkeit, die mit dem Vektor multipliziert wird.

Das müsste denke ich impliziert heißen und nicht multipliziert^^[/quote]

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

22

01.01.2009, 22:27

Ähm ich denke es heisst multipliziert. Naja impliziert wäre auch logisch...

Socke

23

25.05.2009, 21:05

Seite 82 unten:
zunächst steht
det M = a*(e*i-h*f)+b*(f*g-i*d)+c*(d*h-g*e)

Im Quelltext steht dann aber:
a*(e*i-h*f)-b*(f*g-i*d)+c*(d*h-g*e)

Was ist nun richtig? (Kenne Matrizen leider noch nicht aus der Schule, kommen wohl erst in 12/ 13)

24

03.08.2009, 17:01

Hallo zusammen,

ich habe einen Fehler gefunden, der sich durch das gesamte Buch und die Tribase-Engine zieht:

Der Operator new gibt im Fehlerfall unter C++ nicht NULL zurück, sonder wirft eine Exception vom Typ std::bad_alloc. Die Überprüfung auf NULL ist also unsinnig. Zwar kann man mit ein paar Tricks auch erreichen, dass NULL zurückgegeben wird, aber da das dann wieder C und nicht C++ wäre, ist das eher unschön.

In diesem Zug möchte ich auch einmal anregen, ob es nicht möglich wäre für eine nächste Auflage (falls es denn eine geben wird) die gesamte Engine auf (richtiges) C++/C++0x umzustellen, also:
- Exception-Sicherheit
- Nutzen von Exceptions zur Fehlermeldung
- Verwendung der STL oder von boost
- new/delete statt malloc/free
- namespaces (z.B. tb)
- Einsatz von Templates (z.B. TB_SAFE_RELEASE oder VertexBuffer)
- Referenzen statt Zeiger

Da die nächste Auflage ja sehr wahrscheinlich mit DirectX 10 oder 11 arbeitet, muss eh ein Großteil der Engine neu geschrieben werden. Da bieten sich die genannten Vorschläge an.

25

03.08.2009, 18:47

Noch eine Idee wäre, dass das Buch "ein paar" Seiten mehr hat und man die Engine "selber" erstellen muss...
Würde man vllt noch etwas mehr lernen :D

Werbeanzeige