Hallo,
leider ich habe einen kleinen Index und einen kleinen Vertexbuffer für einen Würfel erstellt. Leider gehen dieser immer verloren, wenn ich das Bild auf Vollbild stelle bzw. es wieder verlasse, wogegen das Device bleibt. Folgende Zeilen habe ich geschrieben:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
//Erstellung
vb = new VertexBuffer(typeof(CustomVertex.PositionColoredTextured), 8, Form1.m_Device, Usage.Dynamic | Usage.WriteOnly, CustomVertex.PositionColoredTextured.Format, Pool.Default);
ib = new IndexBuffer(typeof(short), indices.Length, Form1.m_Device, Usage.WriteOnly, Pool.Default);
vb.Created += new EventHandler(this.OnVertexBufferCreate);
ib.Created += new EventHandler(this.OnIndexBufferCreate);
OnVertexBufferCreate(vb, null);
OnIndexBufferCreate(ib, null);
public void OnVertexBufferCreate(object sender, EventArgs e)
{
Console.WriteLine("OnVertexBufferCreate");
vb = (VertexBuffer)(sender);
m_VertexBuffer.SetData(m_Vertex, 0, LockFlags.None);
System.Threading.Thread.Sleep(500);
if (vb.Disposed)
Console.WriteLine("OnVertexBufferCreate okay");
else
Console.WriteLine("OnVertexBufferCreate putt");
}
public void OnIndexBufferCreate(object sender, EventArgs e)
{
Console.WriteLine("OnIndexBufferCreate");
IndexBuffer ib= (IndexBuffer)(sender);
m_IndexBuffer.SetData(indices, 0, LockFlags.None);
System.Threading.Thread.Sleep(500);
if (ib.Disposed)
Console.WriteLine("OnIndexBufferCreate okay");
else
Console.WriteLine("OnIndexBufferCreate putt");
}
|
Als ausgabe kommt immer putt. Könnte mir jemand weiter helfen?
Bin über jede Antwort dankbar!
TIM