[DirectX C++] Clipping?

Hallo

Im Moment habe ich eine isometrische Karte.
Die einzelnen Tiles bestehen aus zwei Dreiecken (6 Vertices) und werden aus einem Vertexbuffer gerendert.

Mein Problem ist aber, dass ich um bis ganz an den Rand zeichnen zu können auch Vertices zeichnen muss, die teilweise ausserhalb des Bildschrims liegen.

Wie würdet ihr das am einfachsten, besten, schnellsten machen?

Könnte Clipping wie unter folgendem Link beschrieben ein geeigneter Kandidat sein oder ist das für meinen Fall nicht geeignet?

http://msdn.microsoft.com/library/d...ction/ViewportsClipping/viewportsclipping.asp

hab erst gerade was gefragt, hier bin ich aber leider auch ein bisschen ratlos oder zumindes unsicher.

EDIT:

Unten und rechts funktioniert es, oben und links jedoch nicht.
ich vermute, dass es Probleme damit gibt, dass die Vertexkoordinaten dort negativ werden...

Kann ich das irgendwie umgehen?

Danke für alle Antworten!
 
Zuletzt bearbeitet:
Eigentlich kannst du problemlos alles mögliche auch teilweise oder ganz ausserhalb des Bildschirms rendern, ohne dass du dich um das Clippen kümmern musst.

Negative Koordinaten sind genauso gültig wie positive.
 
Zuletzt bearbeitet:
Hmm es stürzt beim Locken des Vertexbuffers ab, liegt also nicht am Clipping...
In dem Fall debugen debugen debugen... :(

Edit:

Jetzt funktioniert es schon fast... Der Vertexbuffer war zu klein.
Ich glaube den Rest schaff ich auch noch irgendwie.

Danke für deine erneute Hilfe, endurion!

Edit2: Jetzt funktioniert alles :)
 
Zuletzt bearbeitet:
Zurück