示例#1
0
 /// <summary>
 /// Add the 4 vertices corresponding to a sample point.
 /// </summary>
 /// <param name="center"></param>
 /// <param name="neighbors"></param>
 private void AddVertex(Vector3 center, Color neighbors)
 {
     localVerts[numVerts++] = new WaterVertex(center, new Vector2(-1.0f, -1.0f), neighbors);
     localVerts[numVerts++] = new WaterVertex(center, new Vector2(1.0f, -1.0f), neighbors);
     localVerts[numVerts++] = new WaterVertex(center, new Vector2(1.0f, 1.0f), neighbors);
     localVerts[numVerts++] = new WaterVertex(center, new Vector2(-1.0f, 1.0f), neighbors);
 }
示例#2
0
 private void SetUpVertices()
 {
     vertices = new WaterVertex[width * length];
     for (int x = 0; x < width; x++)
     {
         for (int z = 0; z < length; z++)
         {
             vertices[x + z * width] = new WaterVertex(new Vector3(x, 0, z), Vector3.Normalize(new Vector3(0, 1, 0)), new Vector2((float)x / 30.0f * size, (float)z / 30.0f * size), (float)Game.rand.NextDouble() * 2 - 1);
         }
     }
 }
示例#3
0
 public void WriteWaterVertex(WaterVertex v)
 {
     _stream.WriteFloat4(v.Position);
     _stream.WriteFloat4(v.Position2);
     _stream.WriteFloat4(v.Position3);
     _stream.WriteFloat4(v.Position4);
     _stream.WriteFloat4(v.Position5);
     _stream.WriteFloat4(v.Position6);
     _stream.WriteFloat4(v.Position7);
     _stream.WriteFloat4(v.Position8);
     _stream.WriteFloat4(v.Texcoord);
     _stream.WriteFloat3(v.Texcoord2);
     _stream.WriteFloat4(v.Normal);
     _stream.WriteFloat4(v.Normal2);
     _stream.WriteFloat4(v.Normal3);
     _stream.WriteFloat4(v.Normal4);
     _stream.WriteFloat2(v.Normal5);
     _stream.WriteFloat3(v.Texcoord3);
 }
示例#4
0
 private void SetUpVertices()
 {
     vertices = new WaterVertex[width * length];
     for (int x = 0; x < width; x++)
     {
         for (int z = 0; z < length; z++)
         {
             vertices[x + z * width] = new WaterVertex(new Vector3(x, 0, z), Vector3.Normalize(new Vector3(0, 1, 0)), new Vector2((float)x / 30.0f * size, (float)z / 30.0f * size), (float)Game.rand.NextDouble()*2-1);
         }
     }
 }