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
Administrator
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
void renderScene() { std::map<Model*, true> hashMap; treeLeafList = searchAllTreeLeafs(cameraViewFrustum); foreach (Leaf* leaf, treeLeafList) { foreach (Model* model, Leaf.modelList) { // Check if model has already been rendered if (hashMap.find(model) != hashMap.end()) continue; hashMap[model] = true; model->render(); } } } |
Quellcode |
|
1 2 3 4 5 6 7 8 |
size_t mLetzterPassIndexGezeichnet; void MalMich( size_t passIndex ) { if( passIndex == mLetzterPassIndexGezeichnet ) return; mLetzterPassIndexGezeichnet = passIndex; } |
Administrator
kann es aber auch passieren, dass ein paar Objekte in zwei dieser Tree-Leafs enthalten sind.
Zitat
Ich habe das bei mir so gelöst, dass Objekte, die am Rand von Knoten liegen, einfach so lange nach oben geschoben werden, bis sie nicht mehr auf einer Kante liegen.
Exotisch im Sinne von der Menge an typischen Anwendungsfällen. Das erste was ich machen würde, ist meiner Meinung nach garantiert nicht Instancing. In der Regel hast du gar nicht soviel gleichartige Geometrie, dass sich das lohnt. Daher würde ich eher Schwerpunkt auf die anderen Dinge setzen: Culling, Batching und Texturatlanten.@TrommlBomml: Warum hältst du "Instancing" für eher exotisch? Ist das nicht sogar eher eine recht neue Technik?! (zumindest Hardware Instancing)
Werbeanzeige