Hallo,
wenn man ein Mesh malen will, das nur aus
einer Dreiecksammlung betseht (etwa
ein TeePot), geht das ja z.B. so:
|
Quellcode
|
1
2
3
4
|
//Pseudo-C#
Mesh mesh = Mesh.TeaPot(device);
...
mesh.DrawSub(0);
|
Meshes, die aus mehreren Objekten bestehen, lassen sich z.B. so ausgeben:
|
Quellcode
|
1
2
3
4
5
|
//Pseudo-C#
Mesh mesh = (eine .x-Datei laden);
...
for(int i = 0; i < grosse_Zahl; i++)
mesh.DrawSub(i);
|
Das ist natürlich nicht der Sinn der Sache - aber
wie geht das richtig?
Dann ist mir noch aufgefallen, daß sich Meshes anscheinend nicht in Listen (C#) laden
und danach verwenden lassen - so gehts nicht:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
|
//Pseudo-C#
List<Mesh> Meshes = new List<Mesh>();
...
for(int i = 0; i<10; i++)
{
Meshes.Add(Mesh.TeaPot(device));
}
...
foreach(Mesh mesh in Meshes)
{
mesh.DrawSub(0);
}
|
Mit Arrays geht das problemlos:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
|
//Pseudo-C#
Mesh[] Meshes = new Mesh[];
...
for(int i = 0; i<10; i++)
{
Meshes[i] = Mesh.TeaPot(device);
}
...
for(int i = 0; i< 10; i++)
{
mesh.DrawSub(0);
}
|
Weiß jemand, wieso das so ist?
Vielen Dank schon mal!