Ist Vertexcolor (alpha) richtig?
Übersicht

![]() |
TheProgrammerBetreff: Ist Vertexcolor (alpha) richtig? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.
Also ich hab jetzt ma versucht, so'ne tileterrain-engine zu proggen... Vom Prinzip her weiß ich jetzt, wie das funzen soll. Einige Tris werden jedoch noch nicht richtig bemalt: ![]() Ich erkläre jetzt mal, wie ich das angeordnet hab: Das Terrain wird aus einer heightmap ausgelesen (bsp. 64x64) Dieses Terrain besteht aus 2 Mesh's. Der erste Mesh besitzt FX 32+2. Er ist in Surfaces unterteilt. Ein Surface ist dann immer 4x4 groß. (darauf passt 1 Texture) Dieses Surface besteht dann aus 25 Vertexpunkten: ![]() ...wobei die Surfaces von Mesh1 nur die rechte und linke Seite einnehmen... Genau so: ![]() Wenn das Surface rechts daneben eine andere Texture (Brush) hat, werden von Vertex 4, 9, 14 und 19 Alpha auf 0 gesetzt. Sollte das Surface darunter ein anderes sein, werden von Vertex 20, 21, 22 und 23 Alpha auf 0 gesetzt. Das Problem besteht in Vertex 24. Egal, ob der Alphawert auf 0 oder 1 ist, gibt es immer Probleme. Mesh 2 hat pro Feld 3 Surfaces und besitzt nicht fx 32+2. Das erste Surface besteht aus Vertex 0,1,2,3,5,6,7,8,10,11,12,13,15,16,17 und 18. Der Brush ist der Brush vom eigenen Feld. ![]() Der zweite Surface besteht aus Vertex 3,4,8,9,13,14,18,19 und 24. Der Brush ist der Brush vom Feld rechts daneben. ![]() Der dritte Surface besteht aus Vertex 15,16,17,18,20,21,22,23 und 24. Der Brush ist der Brush vom Feld darunter. ![]() Ich hoffe, ihr habt diese Erklärung jetzt verstanden und könnt mir helfen. Mfg TheProgrammer |
||
aktuelles Projekt: The last day of human being |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also das mit den ganzen Vertex, Surface und so habe ich nicht verstanden. Aber wenn du den Rasen hochwachsend am Berg meinst, habe ich vielleicht eine Erklärung dazu. Die 'Highmap' und die 'Texturmap' sind logischer weise um einen halben Pixel verschoben, da die 'Highmap' die Positionen der Punkte angibt und die 'Texturmap' die Positionen der Flächen meben der Punkte.
Mit anderen Worten, die Highmap verändert die Eckpunkte der einzelnen Flächen des Terrains und die Textur die neben liegenden Flächen dazu. Man muß daher bei der Texturmap diese um einen '''halbe''' Pixel versetzen... Hier mal ein Beispiel, angenommen die Highmap soll an der Stelle wo die Bergspitze ist (1) weiß sein (Farbe: 1) und für Tal (0) schwarz sein (Farbe: 0) Highmap 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Texturmap 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 Der Pixel vom Berg in der Highmap wurde in der Texturemap nach links, unten, und links unten kopiert. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group