Backface-Culling hat mir das Leben ebenso schwer gemacht wie schlechtes Testen. Mein Spielfeld ist ziemlich voll und mir sind deshalb gewisse Sachen nicht aufgefallen, u.a. hatte ich vor allem beim Start/Schluss Probleme und wenn Teilstücke gerade waren. In allen Fällen war nichts zu sehen und ich kam zum Trugschluss das alles am Backface-Culling lag.
Was ich noch nicht verstehe ist wie in Unity nur ein Teil des Meshes gerendert werden kann.
In meiner abschliessenden Renderfunktion setze ich die Vertex-Punkte alle auf 0 und übermittle einfach meinen ganzen Buffer von 1000 Stellen. Ich dachte es sollte möglich sein mit SetVertices und SetTriangles nur einen Teil zu übermitteln, aber das führt nur zu Fehlern. Morgen.
Code: Alles auswählen
protected void FinalizeRender()
{
for (var i = renderPos; i < prevRenderPos; i++)
{
//clearTriangle(i);
vertices[i].x = 0;
vertices[i].y = 0;
}
//mesh.SetVertices(vertices, 0, renderPos);
// mesh.SetTriangles(quads, 0, renderPos, 0);
mesh.vertices = vertices;
prevRenderPos = renderPos;
}