Wie Spieleprogrammierung



  • Hallo,

    langsam verstehe ich jetzt wie alles zusammnehängt in der 3D Programmierung. Ein paar Fragen hab ich dazu wie es in der Praxis ist.

    Zu DirectX:

    Es heisst doch das man so wenig wie möglich BeginScene() und EndScene() benutzen soll. Doch ich habe mir jetzt gedacht. Ich habe 10 Objekte, diese muss ich in der 3D Welt positionieren. Ich müsste doch jetzt bei jedem Objekt BeginScne()-Objekt rotieren, in Weltposition setzen ect.-EndScene() machen und das bei allen Objekten. Ist das so? (angenommen alle 10 Objekte sind sichtbar).

    Wie ist das in der Praxis. Wie oft werden pro Frame diese beiden Methoden benutzt?



  • Zweimal, mehr nicht.

    BeginScene

    Matrix für erstes Objekt setzen
    Erstes Objekt rendern

    Matrix für zweites Objekt setzen
    Zweites Objekt rendern

    Matrix für drittes Objekt setzen
    Drittes Objekt rendern

    ...

    EndScene
    Present



  • Aber dazwischen kann man kein SetRenderState() benutzen?

    Alle andern z.B. SetTransform() schon?

    [ Dieser Beitrag wurde am 01.04.2003 um 11:42 Uhr von Netzwerk-Latenz editiert. ]



  • Original erstellt von Netzwerk-Latenz:
    Aber dazwischen kann man kein SetRenderState() benutzen?

    Doch, natürlich! Warum denn nicht? BeginScene und EndScene bedeuten nur: "Achtung, ab jetzt wird gerendert!" bzw. "Jetzt sind wir fertig mit der gesamten Szene!".


Anmelden zum Antworten