Was ein DirectX-Programmierer nie vergisst.



  • Ein DX-Programmierer vergisst nie, das er ...

    1.) ... das DXSDK bei http://www.microsoft.com/ runterladen kann.
    2.) ... die Verzeichnisse für includes und libs hinzufügt und in der Liste ganz nach oben stellt.
    3.) ... eine Win32 Anwendung erstellt und keine Konsolen Anwendung.
    4.) ... stets alle benötigten Libraries linken muss.
    5.) ... die *.h Files dem Projekt hinzufügen muss, damit die DX-Typbezeichner von VC++ automatisch vervollständigt werden.
    6.) ... mit einer neuen Version auch Interfaces der alten Version benutzen kann.
    7.) ... alles in der SDK Doku nachlesen kann.
    8.) ... alles in den Samples der SDK nachschauen kann.
    9.) ... mit der debug Version der runtime libraries noch mehr Infos beim Debuggen erhält.

    Bitte weitere Tips anfügen!



  • das mit den beispielen von ms ist zwar richtig, aber diese sind meist in mfc und deßhalb (für mich, und bestimmt auch andere) uninteressant wenn man keine Ahnung von mfc hat.

    sorry dass das kein tip ist...
    para

    [ Dieser Beitrag wurde am 03.06.2002 um 12:55 Uhr von paranoiac editiert. ]



  • afaik sind nur 3 der samples MFC, der rest ist plain winapi mit c++.



  • @TGGC :
    Super Idee ! Kommt bald auch ins FAQ !

    1. ... Nie Fragen stellt à la : Gibts das auch in Deutsch
    2. ... bei Google.de massenhaft Beispiele zu allen Themen findet
    3. ... öfters mal ins FAQ guckt
    4. ... erst C (++) lernt bevor er mit DX/OGL anfängt
    5. ... Geduld und etwas Anstrenung die meisten Probleme mit einem
      Schlag löst


    1. ... den Reference-Rasterizer benutzen kann, um Fehler aufzuspüren (Direct3D).
    2. ... immer alle HRESULTs prüfen sollte.
    3. ... Fehlerbeschreibungen mit DXGetErrorDescription8 und DXGetErrorString8 in Strings umwandeln kann.
    4. ... immer alles wieder entsperrt, was er mal gesperrt hat.
    5. ... sich bewusst ist, dass jede Hardware anders ist.
    6. ... in den Microsoft-DirectX-Newsgroups von kompetenten Spezialisten (KEINE Ironie!) beraten werden kann.

    [ Dieser Beitrag wurde am 03.06.2002 um 15:57 Uhr von TomasRiker editiert. ]



  • Hi,

    1. Funktionen generell mit dem FAILED-Makro überprüft und nicht mit
      ==DD_OK oder so
    2. alles wieder deinitialisiert
    3. immer die neuesten Hardware-Treiber hat
    4. alle Strukturen mit ZeroMemory und size=sizeof(struktur) initialisiert

    CU

    [ Dieser Beitrag wurde am 07.06.2002 um 18:07 Uhr von Crax editiert. ]



    1. ... Text mit der Klasse CD3DFont in Direct3D8 ausgeben kann


  • War

    KEINE Ironie!

    Ironie? 😉

    1. Für die Grafik dann doch leiber OGL verwendet


  • 26.) geometrie nach state changes sortieren und in möglichst großen batches rendern muss um auch nur irgendwie schnell zu sein.
    27.) fals depth und stencil buffer verwendet werden, immer BEIDE gleichzeitig löschen sollte (muss).
    28.) niemals DrawPrimitiveUP/DrawIndexedPrimitiveUP benutzt -> immer VB benutzen
    29.) bei Lock NOOVERWRITE und DISCARD richtig einsetzt und dass VB renaming genau 8 mal gequeued wird, bevor gewartet wird.
    30.) text niemals mit dem GDI zeichen sollte.
    31.) texturen deselektieren muss, bevor er sie released.
    32.) niemals CreateVB(), DestroyVB(), Optimize() in zeitkritischem code benutzt

    to be continued



  • Original erstellt von Helium:
    **
    25) Für die Grafik dann doch leiber OGL verwendet**

    Was soll das? Mach lieber was konstruktives und mach nen OpenGL Thread auf, wenn du das so gut findest.

    Bye, TGGC



  • FAQ oder nicht FAQ, das ist hier die Frage!



  • hi,

    würde ich gar nicht so schlecht finden, wenn das zu den Faq hinzugefügt wird:

    grüsse psychocoder



  • OK !


Anmelden zum Antworten