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

1

10.08.2012, 22:14

DirectX 11 Frustum Culling

Hiho,



ich folge zur Zeit diesem Tutorial http://www.rastertek.com/dx11tut16.html



Hier bei geht es um das genannte Thema. Ich habe den code soweit
angepasst das,wenn ich meine 2 Kugeln nicht mehr sehen kann(die Kamera
drehe),meine fps dadurch extrem steigt soweit so gut.

(hab auf das im Tutorial angebene random erzeugen der Kugeln verzichtet)

Das ganze klappt, aber "nur" mit Kugeln und einfachen primitiven. Also
will ich erreichen das es mit jedem erdenklichen Model,das ich später
einfüge auch klappt.



Soweit ich das schon in Erfahrung gebracht habe,brauch ich nun eine
boundingbox dafür. In der msdn hab ich die "D3DXComputeBoundingBox"
Funktion gefunden.

HRESULT D3DXComputeBoundingBox(
__in const D3DXVECTOR3 *pFirstPosition,
__in DWORD NumVertices,
__in DWORD dwStride,
__out D3DXVECTOR3 *pMin,
__out D3DXVECTOR3 *pMax
);

Kann mir jemand die 5 Parameter erkären? mir vllt nen kleines beispiel geben? Wie ich nun meine Modelle in die Box bekomme?



Und wie kombiniere ich nun das Frustum mit der boundingbox? also wenn
die boundingbox außerhalb des sichtfeld liegt(außerhalb der planes),das
meine fps steigt.



Das mein größtes prob,weil ich überhaupt keine Ahnung habe... kann mir da jemand nen Tipp gegeben wieso was aussehen könnte?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

11.08.2012, 09:46

pFirstPosition: Zeiger auf die Position des ersten Vertex in deinem Modell
NumVertices: Anzahl der Vertices in deinem Modell
dwStride: Wie viele Bytes trennen die Position von Vertex 1 von der Position von Vertex 2 (da sind ja normalerweise noch mehr Daten mit drin, z.B. Texturkoordinaten und Farben)
pMin, pMax: Da speichert die Funktion die Eckpunkte der Bounding-Box rein.

Mir kommt's so vor, als ob du dem Tutorial "blind" folgst und gar nicht weißt, was du tust.
Ansonsten wäre es doch kein großes Problem das auch für eine Box zu implementieren, wenn du es für eine Kugel schon kannst ...

Ähnliche Themen