Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Der Dude

Treue Seele

  • »Der Dude« ist der Autor dieses Themas

Beiträge: 73

Wohnort: Elleringhausen-City

Beruf: ITA

  • Private Nachricht senden

1

24.11.2005, 19:39

Index/Vertexbuffer wieder herstellen

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 :)
"Wenn ich morgens doppelt so schnell über den Flur laufe, kann ich 2 Minuten länger schlaften!" - leider war es ein Irrtum.

Anonymous

unregistriert

2

24.11.2005, 19:42

Die Daten im Ram zwischenspeichern, Buffer freigeben und mit Daten aus dem Ram neu erstellen. Where is the problem? ;)

Der Dude

Treue Seele

  • »Der Dude« ist der Autor dieses Themas

Beiträge: 73

Wohnort: Elleringhausen-City

Beruf: ITA

  • Private Nachricht senden

3

25.11.2005, 00:29

Wo das Problem ist? Könnntest du bitte ein wenig genauer auf mein Problem eingehen? Leider weiß ich jetzt nciht ganz was ich nieder schreiben soll. Wäre echt super!


TIM :)

PS: Habe mich kurz über ICQ bei dir gemeldet...
"Wenn ich morgens doppelt so schnell über den Flur laufe, kann ich 2 Minuten länger schlaften!" - leider war es ein Irrtum.

Werbeanzeige