Shaders
Posted: Thu Nov 22, 2012 9:24 pm
I'm posting the latest discussion with David who is working on the "Shaders" Ticket.
Habe dabei auch gemerkt, dass setDimensions (bei vergrössern) von Billboard dazu führt, dass das RenderSystem nicht mehr mit der richtigen BoundingBox für das Billboard arbeitet und somit das Billboard schon viel zu früh vom Frustum-Culling abgeschnitten wird. Ich bin mir noch nicht sicher ob das an der Implementation von Billboard/BillboardSet in orxonox liegt oder ob es ein Bug in Ogre ist. Auf jeden Fall hab ich jetzt Mal eine Funktion hinzugefügt, dass man das Culling für das entsprechende Billboard abschalten kann. Irgendwann müsste man sich aber wohl überlegen ob man die BoundingBox bei entsprechendem Aufruf von setDimensions neu berechnen sollte oder ob das ein zu grosser Performancehit ist wenn man es generell macht.
Mir scheint die Implementation von Billboard und Billboardset aber generell etwas Wonky, vielleicht sollte man sich Mal überlegen die beiden Klassen neu zu schreiben, damit es mehr wie Ogre::BillboardSet und Ogre::Billboard operiert. In der momentanen Implementation hat jedes Billboard sein eigenes Set, was in vielen Fällen gar kein Sinn macht und somit auch BillboardSet zweckentfremdet.