W Three.js możemy po prostu scalić geometrię, aby ograniczyć liczbę wywołań losowania, a tym samym zwiększyć wydajność. W prostym teście z jednym materiałem mogłem narysować 50 000 kostek + cienie @ 60 fps na moim GPU GTX660. Bez scalenia geometrii problem spowodował już 5000 kostek.
Zastanawiam się, jak zachować korzyści wynikające z renderowania każdej siatki sześcianu na własną rękę. Na przykład, jak wybrać siatkę sześcianu, gdy wszystko jest scalone w jedną geometrię? Domyślnie nie jest to oczywiście możliwe.
Czy istnieje jakaś wspólna technika dla tego problemu? W końcu mam wszystkie nierozproszone obiekty siatki nawet po scaleniu. Więc musi być jakiś sposób na wykorzystanie ich do zbierania?
Co chcę robić w pigułce
- SimCity jak gra do nauki
- Każdy dom jest siatką sześcianu
- Chcesz wyrenderować 50 000 domów i mieć możliwość dodawania i usuwania domów
- Wybór domu za pomocą kursora myszy (kompletacja) musi być możliwy