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

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

11

20.07.2010, 21:59

Frag am besten mal den Debugger um Rat.

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

12

20.07.2010, 22:07

Ich bin mir nicht ganz sicher - aber muss man nach BeginScene nicht den Bildschirm Clearen?

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

13

20.07.2010, 22:13

Eigentlich so:

C-/C++-Quelltext

1
2
D3D->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, tbColor(0.0f), 1.0f, 0);
D3D->BeginScene();

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

14

20.07.2010, 22:23

Das würde auch erklären, warum man die Taskleiste noch sieht...
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

Harry222

Alter Hase

  • »Harry222« ist der Autor dieses Themas

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

15

21.07.2010, 08:43

Vielen dank für dei Tipps!
Ich galaube tatsächlich, dass ich die Clear-Funktion vergessen habe!
Ich probier es mal als!

Harry222

Alter Hase

  • »Harry222« ist der Autor dieses Themas

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

16

21.07.2010, 09:05

Ich hab jetzt mal die Clear-Funktion eingefügt! Erhalte aber das gleich Ergebnis!
Mir sind jetzt allerdings zwei Fehlermeldungen aufgefallen!
Wenn ich das Programm, weil es per Alt+F4 nicht funktioniert, per Taskmanager beende, markiert das Visual Studio die GetVertexSize()-Funktion der tbVertexBuffer-Klasse und in dem Ausgabefenster sind zwei Fehlermeldungen:

First-change exeption at 0x1009dac6 (TriBaseD) in Vier Gewinnt.exe: 0x0000005: Access violation reading location 0x0000000c.
Unhandled exeption at 0x1009dac6 (TriBaseD) in Vier Gewinnt.exe: 0x0000005: Access violation reading location 0x0000000c.

Da ich das Programm ja Programm "kille" sind in der Log Datei nach dem betreten der Nachrichtenschleife keine weiteren Meldungen, also auch keine Fehlermeldungen. Das Hochfahren funktioniert nähmlich einwandfrei!

Und Außerdem: Da die Modellklassen im Moment die einzigen Elemente des Programms sind, die einen Vertex-Buffer benutzen, muss da das Problem liegen!

Hoffentlich hilft das weiter!

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

17

21.07.2010, 10:50

Der Rat sollte viel öfter gegeben werden und klingt gemein, aber:
Warum nutzt du nicht einen Debugger und stoppst bei Fehlermeldungen oder gehst mal Schritt für Schritt durch?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Harry222

Alter Hase

  • »Harry222« ist der Autor dieses Themas

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

18

21.07.2010, 12:14

Du hast recht! Ich habe mir bisher immer nur die Ausgaben nach Programmende angesehen,
Ich habe mir nun einmal die Ausgaben, die während des laufenden Programms ausgegeben wurden angesehen. Allerdings habe ich nichts neues herausgefunden. Ich kann wieder nur sagen, dass da irgendetwas mit der GetVertexSize-Funktion des Vertex-Buffers nicht stimmen kann.
Ich habe als nächstes probiert, nur die Pins, ohne das Levelmodell zu rendern. Das hat funktioniert. Allerdings ist der Bildschirm trotzdem schwarz geblieben!
Das heißt also, dass irgendetwas mit dem Vertex-Buffer des Levelmodells nicht stimmt! Was, das habe ich nicht herausgefunden, da ich dieses Modell genauso wie die andere Modelle erstellt habe.

19

21.07.2010, 12:35

Hast du ein D3D->Clear jetzt eingebaut?
Dann würde ich mal die Hintergrundfarbe ändern, um zu sehen, ob überhaupt gerendert wird.

Wird D3D->Present aufgerufen?
fka tm

Harry222

Alter Hase

  • »Harry222« ist der Autor dieses Themas

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

20

21.07.2010, 12:49

Ja ich habe Clear eingebaut! Und Present wird in der Nachrichtenschleife aufgerunfen!
Aber warum die Hintergrundfarbe ändern? Sie ist doch auf weiß eingestellt!
Du meinst doch die, die man per Render-State einstellt, oder?
Wenn ja, dann kann ich sagen, dass ich folgende Zeile in meinem Code eingebaut habe:

C-/C++-Quelltext

1
D3D.SetRS(D3DRS_AMBIENT, tbColor(1.0f, 1.0f, 1.0f));


Aber ich glaube nicht, dass gerendert wird, weil sonst müsste der Hintergrund doch weiß und nich schwarz sein, oder?

Werbeanzeige