wie man den anderen Threads entnehmen kann, vergewaltige ich zur Zeit die OGRE-Engine

Mein neuestes Problem betrifft wieder einmal die Blendwerte der Terraintexturen. Ich würde gerne alle Texturen (Außer der 1., bzw. 0.) auf den Blendwert 0 setzen. Also völlig durchsichtig.
Die einzige Möglichkeit, wie ich sie sehe, ist, jeden Punkt einzeln durchzugehen und den Blendwert auf 0 zu setzen. Das würde bei größeren Karten schätze ich mal schon ne Stunde in Anspruch nehmen...

Bis jetzt setze ich die Werte erst dann auf 0, wenn genau an dieser Stelle auch eine neue Textur hin soll. Kann man das auch leichter machen? So wie es jetzt funktioniert, gibt es kleinere Aussetzer von ca. 5-10s, was ich nicht gerade sehr toll finde (Soll entweder weniger schnell beim Erstellen der Welt geschehen oder realtime (zeitkritisch ^^) während dem "Malen").
Bisher sieht es so aus, es gibt meiner Meinung nach Fehler in der Darstellung bei über 2 Texturen, aber ich habe bis jetzt nur 2 ^^:
Code: Alles auswählen
For h = 0 To #layerAnzahl - 1 ;1024, weil die LayerBlendmapgröße 1024 beträgt.
blendWert = GetTerrainTileLayerBlend(terrain, teilX, teilY, h, TerrainTilePointX(terrain, teilX, teilY, stelle\x, stelle\y, stelle\z) * 1024, 1024 - TerrainTilePointY(terrain, teilX, teilY, stelle\x, stelle\y, stelle\z) * 1024)
If blendWert = 1
SetTerrainTileLayerBlend(terrain, teilX, teilY, h, TerrainTilePointX(terrain, teilX, teilY, stelle\x, stelle\y, stelle\z) * 1024, 1024 - TerrainTilePointY(terrain, teilX, teilY, stelle\x, stelle\y, stelle\z) * 1024, 0.0)
UpdateTerrainTileLayerBlend(terrain, teilX, teilY, h)
Break
EndIf
Next
SetTerrainTileLayerBlend(terrain, teilX, teilY, listItem, TerrainTilePointX(terrain, teilX, teilY, stelle\x, stelle\y, stelle\z) * 1024, 1024 - TerrainTilePointY(terrain, teilX, teilY, stelle\x, stelle\y, stelle\z) * 1024, 1.0)
UpdateTerrainTileLayerBlend(terrain, teilX, teilY, listItem)