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

Anonymous

unregistriert

1

22.05.2004, 01:36

Probleme mit "tbComputeClipingPlane" oder "tb

Hi,

ich bekomme das (in der Tribase integrierte) Frustum Culling einfach nicht richtig zum laufen, andauernd verschwinden bei mir Objekte die ich eigentlich sehen sollte und wenn ich den Blickwinkel wieder was ändere sind sie wieder da :(

...und ich frage mich ob folgende Zeilen in "tbClassifyBox_Inv"

Quellcode

1
2
3
// Nächsten und fernsten Punkt berechnen
    tbVector3 vNearPoint(vBoxMax);
    tbVector3 vFarPoint(vBoxMax);

nicht so lauten müssten :

Quellcode

1
2
3
// Nächsten und fernsten Punkt berechnen
    tbVector3 vNearPoint(vBoxMax);
    tbVector3 vFarPoint(vBoxMin);



Hier mal mein Code, ich benutze die gleichen Matrizen und Vektoren zum Rendern wie zum prüfen !!!
auch die Variablen mCamera und mProjection werden vorher richtig belegt (seh ich ja auch daran das auch diese Variablen für SetTransform genutzt werden)

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
tbPlane aPlane[6];
tbComputeClipPlanes(mCamera, mProjection, aPlane);
....
// Hier kommt die Schleife mit allen Objekten
if (tbBoxVisible(m_Objects.pData[i].pMod->GetBoundingBoxMin(), 
     m_Objects.pData[i].pMod->GetBoundingBoxMax(),
     m_Objects.pData[i].mMatrix, aPlane))
{
     tbDirect3D::SetTransform(D3DTS_WORLD, m_Objects.pData[i].mMatrix);
     m_Objects.pData[i].pMod->Render();
....
}


ich find da einfach keinen Fehler.... ich poste auch gerne noch was mehr Code falls benötigt...

Hat jemand auch nur einen Tipp woran es liegen könnte ?

Oder wer benutzt auch diese Routinen und da funktioniert es einwandfrei ?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

22.05.2004, 18:58

Ich befürchte, Du hast recht!
Die zweite Zeile müsste heißen:

tbVector3 vFarPoint(vBoxMin);

Danke vielmals für diesen Hinweis!

Anonymous

unregistriert

3

22.05.2004, 19:40

Komischerweise funktioniert es aber trotzdem nur, wenn ich "tbSphereVisible" benutze und nicht "tbBoxVisible"...... :(

Werbeanzeige