Andre LaMothe : Tricks of the 3D Game Programming



  • Stefan: Ich weiß nicht so recht, ich bin auch froh dass ich in Teil 1 die Kapitel mit dem lowest-level Kram gelesen habe; einfach weil ich so viel mehr über grundlegenden Konzepte hinter diversen APIs verstehen konnte als das anders der Fall gewesen wäre.

    Ist aber vermutlich alles Geschmackssache... 🙂



  • Bitsy schrieb:

    wenn Du da eine Version haben willst, die auf C++ übersetzt (nur das! noch keine Klassen drin, aber alle Nebeneffekte beseitigt, OpenGL habe ich glaub' ich in eine Klasse gepackt), schreib mir direkt, denn beide genannten Bücher haben mit OpenGL weniger zu tun.

    Habenwill!! Habenwill!! 😃 *liebfrag*


  • Mod

    Jeder der 3D Engines halbwegs professionel programmieren möchte sollte wissen was die Grafikkarte macht, denn wenn mal etwas nicht läuft ist man sonst total ratlos. Z.b. wenn man envmapping benutzt und texturen projeziert kann man laut Dx8 doc keine Division benutzen (also nicht perspektivisch korrekt mappen)... auf manchen treibern läuft es zwar trotzdem, aber wenn man pech hat bekommt man ne karte die 1.nichts zeichnet und im DxDebug output steht dann die erklärung oder 2. man sieht verzerrte texturen und weiß nicht was das soll.

    Um das zu lösen muss man schon wissen was da nicht läuft und was man dagegen machen kann.. dafür ist leider grundlagenwissen zwingend nötig. natürlich reicht es für die meißten hobbyprogrammierer wenn sie sich ein buch durchlesen, alle polygone dann in managed buffer stecken und ab geht die post, schliesslich waren VB programmierer mal die vorgesehene Zielgruppe von M$ für DirectX.

    aber wenn man wirklich mal probleme hat die nicht nachzulesen sind, sondern selbst gelöst werden müssen, muss man wissen was abgeht unter der Api Schale.

    ich hab mir das buch schon vor langem bestellt gehabt, kamm irgendwann anfang dieses monats auch an, steht aber nicht wirklich was aufregendes drinne, genau das selbe stand schon in

    http://www.amazon.de/exec/obidos/ASIN/1883577705/qid=1058433261/sr=1-2/ref=sr_1_8_2/302-2654095-0539231 (das ich ebenfalls gleich nach erscheinen aufgesaugt hatte:D)

    und anderen.

    an sich ist das so wie mit c++ und assembler, du brauchst nicht zu wissen was assembler ist, aber wenn dir mal der kompiler schlichtweg falschen source generiert und du dir das dissassemblat anschaust, bist du froh drüber, dass du verstehst was da passiert.

    was auch noch zählt ist SPASS dabei, alles was in solchen büchern steht ist heute nicht mehr nötig für pcs, aber besorgt euch mal nen GBA emulator und compiler, da durchlebt man die zeit der 80386 wieder... 🙂 16MHz ARM7

    rapso->greets();



  • Habenwill!! Habenwill!! *liebfrag*

    was habe ich Dir denn damals geschickt, wenn nicht das?



  • Stefan Zerbst post deckt sich größtenteils mit dieser Amazon Kunden- Rezession
    die mich zum Zweifeln gebracht hat ob das Buch wirklich meine Interessen deckt.

    A brilliant solution to the wrong problem..., July 14, 2003
    Before you buy this book, be warned that it will only teach you how to develop a software rendering engine, that is to render graphics without taking advantage of hardware acceleration... and you should know that this is not how modern games are developed. So if you want a kick by the humorous Lamothian styleand a not too abstact introduction to 3D graphics concepts buy this book, but if you are looking for a good text on how to implement a real world 3D engine or game, well you will have to wait since this book doesn't exist yet! Or you will have to do like all other newbies game developers.. hunt through lots of books and SDK documentations....
    I am very disappointed because I had the impression that with this book Lamothe had stopped writing "fake, for dummies" books
    useful only for his bank account and had taken the effort to write something less nice and easy but "REAL"

    Dieser Threat hat mich (zum Glück bevor ich das Buch bestellt hätte) zu einer eindeutigen Antwort gebracht, „Nein“. Ich suche kein Buch was allein die Grundkonzepte vermittelt. Vielmehr suche ich ein Buch zum Design einer modernen Grafik Engine(mit Hardwareunterstützung) in dem „nebenbei“ die wichtigsten Grundkonzepte behandelt werden. Wenn wer ein solches Buch kennt wäre ich für einen Hinweis sehr dankbar.

    Bitsy um auf dein Angebot zurückzukommen, es wäre super wenn du mir den Quake2 C++ Sourcecode zusenden könntest.

    An alle die hier gepostet und mich so vor einer wahrscheinlichen Falsch-Investion gerettet haben an dieser Stelle schon mal ein dickes „Dankeschön“



  • "Rezession" -> "Rezension"!
    "Threat" -> "Thread"!


  • Mod

    das Problem dass sich da stellt ist:

    entweder schreibt jemand Bücher oder state-of-the-art 3D-Engines.

    Ich kenne kein Buch über die neusten Techniken die in einer Engine zusammengefasst sind, (es ist ja noch nichtmal eine Engine auf dem Markt, die speziel für die neuen Features geschrieben wurde).

    Es gibt höchstens Leute, die danach über ihre Engine schreiben, aber dann ist sie nichtmehr auf die neusten Technologien geschrieben wenn das Buch rauskommt.

    http://www.amazon.de/exec/obidos/ASIN/1558605932/qid=1058528961/sr=1-1/ref=sr_1_10_1/302-2654095-0539231

    ist das einzige was ich bisher gesehen habe, aber auch nicht mehr so neu...

    eigentlich wüste ich nichtmal ein gutes Buch dass mehr beschreibt als das standart DirectX-wrapper zeug.

    vielleicht bist du ja an der Stelle, wo man etwas eigenes in Angriff nehmen muss um weiter zu lernen 🙂

    rapso->greets();



  • Hi,

    ich kann es mir nicht verkneifen, ein Zitat aus dem LaMothe Buch zu bringen was mir wieder einmal die Auffassung bestätigt hat, dass die Yankees glauben wir hier in Europa (Europ ... what?) leben hinter dem Mond. Der folgende Teil stammt aus der Rechtfer... äh Erläuterung warum er einen Software-Renderer schreibt:

    Furthermore, it will be some time before every computer has good 3D hardware, so you can't assume it exists, and it would be a bad thing to cut out all those computers from your target market just because they don't have 3D hardware (the Midwest and Europe are perfect examples of geographic areas that dont have the latest and greatest).

    Das Buch war zwar seit einigen Jahren in Entwicklung, aber ich finde solche Passagen hätte man schon noch mal überarbeiten sollen. Ein weiterer Kritikpunkt an dem Buch ist, dass LaMothe immer noch seinen C Code verwendet wo es nur geht, mit globalen Variablen und allem drum und dran. Aus dem Feedback zu meiner Arbeit ergab sich aber, dass die Leser doch lieber moderneres Software-Engineering mit C++ sehen wollen.

    @ImanI
    Dann bewerbe ich hier gleich mal mein Kompendium, was Ende September im Regal stehen wird. rapso hat zwar recht wenn er sagt, dass man entweder state-of-the-art 3D Engines schreibt oder Bücher, aber ich bemühe mich das dort entwickelte Spiel (ein Netzwerk-Deathmatch Shooter) vergleichsweise aktuell zu machen. http://www.zfx.info/Books.php?action=Band3

    Ciao,
    Stefan

    Besucht uns auf der zfxCON03



  • [quote="Stefan Zerbst (Homepage)]DLL's[/quote]DLLs

    _____________
    Automatische Rechtschreibkorrektur wurde aktiv!


  • Mod

    lol

    bei uns in dem marketing ist das genau anders gemeint. der grossteil der amis, die wissen nichtmal ob sie eine grafikkarte haben. wir müssen für sie (die amis) immer noch TNT karten supporten und das wir nicht die einzigen sind, zeigt HalfLife2, das ist auch noch auf TNT karten lauffähig, und das wegen dem USA-markt (steht in der gamestar).

    manchmal bekomm ich bugreports, bei dem sich die kommunikation folgendermassen gestalltet ...

    ich: "laut dx diag ist das eine rage mit sehr alten treibern, kunde soll neuen treiber drauf machen"
    support: "kunde sagt er hat die neusten nvidia treiber drauf gespielt, geht immer noch nicht"

    das passiert bei vielen amis, weil die meißten fertig-pcs haben und in denen früher zumeißt Rage karten waren, aber irgendwie haben sie die fixe idee, dass man nur bei nvidia treiber bekommt, weil sie natürlich eine geforce haben ["gibt es noch anderes?"] *lol*

    rapso->greets();



  • 😃



  • Stefan Zerbst schrieb:

    Furthermore, it will be some time before every computer has good 3D hardware, so you can't assume it exists, and it would be a bad thing to cut out all those computers from your target market just because they don't have 3D hardware (the Midwest and Europe are perfect examples of geographic areas that dont have the latest and greatest).

    Naja, gut. Aber Europa besteht ja nicht nur aus Deutschland...

    Germany ist der 2.größte Spielemarkt nach USA, also bitte...
    Aber ob jeder in Rumänien 'ne GeForce FX als Fön hat wage ich zu bezweifeln...

    rapso schrieb:

    bei uns in dem marketing ist das genau anders gemeint. der grossteil der amis, die wissen nichtmal ob sie eine grafikkarte haben.

    Jo, kann ich mir denken...
    Amis halt!
    Wenn 70% der Jugendlichen da schon meinen, Australien wär' mit dem Festland verbunden... 🙄

    Bei der Gewaltdarstellung wär' eigentlich auch angebracht, die Zocks nicht für den DEUTSCHEN sondern den AMI-Markt zu beschneiden.
    Die sind doch alle viel zu unreif. Und mit den dort geltenden Waffengesetzen ist es...
    Ach, egal... 🙄



  • Stefan: 😃
    Andererseits überrascht es mich auch nicht so richtig...

    ImanI: Schau Dir auch mal TomasRikers Buch an, sah ziemlich vielversprechend aus.



  • @Sgt. Nukem
    Bedenke bitte den Kontext. Auch wenn er von "latest and greatest" Hardware spricht so geht es doch darum, dass er 3D-Beschleunigerkarten als "latest and greatest" sieht, und deshalb nur einen Software-Renderer schreibt weil er Hardwarebeschleunigung in Europa nicht vorrausetzen will.

    Es geht nicht darum zwischen einer GeForce 2 MX und einer GeForce FX zu unterscheiden, das ist dort nicht gemeint 😉

    Und gerade weil Deutschland der zweitgrößte Markt für Spiele ist sollte die hiesige Situation mehr ins Gewicht fallen, als der Stand in Estland oder Rumänien. Und heutzutage gibt es wohl keinen Grafikchip mehr im Umlauf, der keine 3D-Beschleunigung hat ... von deutschen Universitäten mal abgesehen 😃

    Ciao,
    Stefan


  • Mod

    @stefan zerbst

    gibt es realtime shadows in dem spiel von deinem neuen buch?
    werden die wege optimiert beim ip traffic?

    wären für mich eventuelle kriterien das von der firma kaufen zu lassen 🙂

    rapso->greets();



  • Hi,

    es gibt Realtime Per-Pixel Lighting (nur Omni Lights) und Realtime Shadows. Dabei kann man beliebig viele Lichtquellen und beliebig viele Shadow Caster über den Editor setzen.

    Lichtquellen und Schattengeber sind getrennt, damit man bei den Omni Lights ein bisschen faken kann und sie nicht direkt an der sichtbaren Lichtquelle (Lampengeometrie) sitzen müssen 😉

    Ciao,
    Stefan

    PS: Netzwerk vergessen 🙂

    Da werden keine Wege optimiert, es werden blind Pakete gesendet.



  • Stefan Zerbst schrieb:

    @Sgt. Nukem
    Bedenke bitte den Kontext. Auch wenn er von "latest and greatest" Hardware spricht so geht es doch darum [...]

    Stimmt. 🙄

    Naja, Amis halt... 🙄



  • rapso schrieb:

    von der firma

    wie heißt die


Anmelden zum Antworten