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

11

25.10.2003, 10:08

ok
hab ich gemacht:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
    ZeroMemory(&pParams,sizeof(D3DPRESENT_PARAMETERS));
    pParams.BackBufferCount = 1;
    pParams.Windowed = false;
    pParams.BackBufferHeight = 600;
    pParams.BackBufferWidth = 800;
    pParams.BackBufferFormat = D3DFMT_X8R8G8B8;
    pParams.SwapEffect = D3DSWAPEFFECT_DISCARD;
    pParams.hDeviceWindow = g_hWindow;
    pParams.EnableAutoDepthStencil = true;
    pParams.MultiSampleType = D3DMULTISAMPLE_2_SAMPLES;
    pParams.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
    pParams.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;


der Fehler bleibt trotzdem der gleiche
Do, ut des!
Ceterum censeo, carthaginem delendam esse

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

12

25.10.2003, 10:16

D3DMULTISAMPLE_2_SAMPLES funktioniert auf neueren Karten (zumindest bei NVidia) nicht mehr.
Nimm stattdessen D3DMULTISAMPLE_NONMASKABLE. Dann kontrollierst Du mit "MultiSampleQuality" die Art des Multi-Samplings. Der Qualitätslevel geht von 0 bis n-1, wobei n die Anzahl der unterstützten Qualitätslevels ist. Ich würde mal bei 0 anfangen und höher gehen, bis es nicht mehr weiter geht (also bis ein Fehler auftritt).
Einfach so anzunehmen, dass Multi-Sampling unterstützt wird, ist nicht gut. Lieber vorher die Unterstützung abfragen oder es ganz rauslassen.

13

25.10.2003, 10:23

ok
ich hab abgeändert

Quellcode

1
2
pParams.MultiSampleQuality = 0;
pParams.MultiSampleType = D3DMULTISAMPLE_NONMASKABLE;


es kommt immer noch der selbe Fehler
Do, ut des!
Ceterum censeo, carthaginem delendam esse

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

14

25.10.2003, 10:45

Du setzt "EnableAutoDepthStencil" auf TRUE, aber gibst anschließend kein Z-Stencil-Buffer-Format an. Setze "AutoDepthStencilFormat" beispielsweise auf D3DFMT_D24S8, D3DFMT_D24X8 oder auf D3DFMT_D16, falls erstere nicht funktionieren.

15

25.10.2003, 10:58

ok
vielen dank schonmal

jetzt funktioniert das erstellen von Dx9 ohne Probleme

jdeoch funktioniert das Rendern nicht
ich starte das Programm ohne Probleme aber dann beendet sich das Programm sofort

Debugger AusgabE:

Zitat


'TechDemoWin32.exe': 'C:\Dokumente und Einstellungen\Administrator.LAMBDA.001\Eigene Dateien\Visual Studio Projects\TechDemoWin32\Debug\TechDemoWin32.exe' geladen, Symbole geladen.
'TechDemoWin32.exe': 'C:\WINNT\system32\NTDLL.DLL' geladen, Erforderliche DBG-Datei wurde nicht gefunden oder konnte nicht geladen werden.
'TechDemoWin32.exe': 'C:\WINNT\system32\d3d9.dll' geladen, Keine Symbole geladen.
'TechDemoWin32.exe': 'C:\WINNT\system32\d3d8thk.dll' geladen, Keine Symbole geladen.
'TechDemoWin32.exe': 'C:\WINNT\system32\msvcrt.dll' geladen, Keine Symbole geladen.
'TechDemoWin32.exe': 'C:\WINNT\system32\KERNEL32.DLL' geladen, Erforderliche DBG-Datei wurde nicht gefunden oder konnte nicht geladen werden.
'TechDemoWin32.exe': 'C:\WINNT\system32\USER32.DLL' geladen, Erforderliche DBG-Datei wurde nicht gefunden oder konnte nicht geladen werden.
'TechDemoWin32.exe': 'C:\WINNT\system32\GDI32.DLL' geladen, Erforderliche DBG-Datei wurde nicht gefunden oder konnte nicht geladen werden.
'TechDemoWin32.exe': 'C:\WINNT\system32\ADVAPI32.DLL' geladen, Erforderliche DBG-Datei wurde nicht gefunden oder konnte nicht geladen werden.
'TechDemoWin32.exe': 'C:\WINNT\system32\rpcrt4.dll' geladen, Erforderliche DBG-Datei wurde nicht gefunden oder konnte nicht geladen werden.
'TechDemoWin32.exe': 'C:\WINNT\system32\version.dll' geladen, Erforderliche DBG-Datei wurde nicht gefunden oder konnte nicht geladen werden.
'TechDemoWin32.exe': 'C:\WINNT\system32\lz32.dll' geladen, Erforderliche DBG-Datei wurde nicht gefunden oder konnte nicht geladen werden.
'TechDemoWin32.exe': 'C:\WINNT\system32\winmm.dll' geladen, Erforderliche DBG-Datei wurde nicht gefunden oder konnte nicht geladen werden.
'TechDemoWin32.exe': 'C:\WINNT\system32\mmdrv.dll' geladen, Erforderliche DBG-Datei wurde nicht gefunden oder konnte nicht geladen werden.
'TechDemoWin32.exe': 'C:\WINNT\system32\mmdrv.dll' entladen
'TechDemoWin32.exe': 'C:\Programme\ATI Technologies\ATI HydraVision\HydraDMH.dll' geladen, Keine Symbole geladen.
'TechDemoWin32.exe': 'C:\WINNT\system32\MSCTF.DLL' geladen, Keine Symbole geladen.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Eine Ausnahme (erste Chance) bei 0x77e0a256 in TechDemoWin32.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x43524578.
Das Programm "[1748] TechDemoWin32.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.
Do, ut des!
Ceterum censeo, carthaginem delendam esse

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

16

25.10.2003, 11:16

Mit den Fehlermeldungen wird wohl niemand was anfangen können.
Du solltest aber erst einmal selbst versuchen, das Problem zu lösen und nicht schon nach 10 Minuten wieder im Forum nachfragen...
Es gibt genügend Beispielprogramme, in denen gezeigt wird, wie man dies und das mit Direct3D anstellen kann.

PS: Dein Programm "erstellt" nicht DirectX 9, sondern es initialisiert Direct3D 9 ;)

17

25.10.2003, 17:37

gut
habe es jetzt geschafft
ich enumeriere jetzt die Formate etc. und setze sie dann in die Present Parameters Strukt. ein

ok
jetzt hab ich das ganze dann auf Basis der TriBase Engine neu geschrieben
ich habe hier jetzt einfach mal die ganzen Sachen entfernt die mit dem Enumerationsdialog zu tun haben ;)

ok
dann habe ich in die Render Funktion ein TB_LOG("Render Funktion: Triangle gezeichnet") eingefügt
ok
nun starte ich mein Programm, jedoch zeigt er auser der Hintergrundfarbe nicht an
Die Funktionen Clear und Present werden aufgerufen
Do, ut des!
Ceterum censeo, carthaginem delendam esse

18

25.10.2003, 19:05

Hast du auch IDirect3DDevice9:BeginScene und IDirect3DDevice::EndScene aufgerufen? Der Ablauf ist immer der selbe

Quellcode

1
2
3
4
5
6
7
8
9
10
while(true) // Programmschleife
{
  g_pD3DDevice->Clear(...);
  g_pD3DDevice->BeginScene();

  // Rendern deiner Objekte

  g_pD3DDevice->EndScene();
  g_pD3DDevice->Present(0, 0, 0, 0);
}


Also ich würde noch einmal vorschlagen das du dir die Kapitel 2 bis 2.5.5 von David's Buch noch einmal ganz genau durchzulesen.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

19

25.10.2003, 21:10

natürlich mach er das mit BeginScene und EndScene

aber ich lese mir das nochmal durch
ich denke bis morgen werde ich eine funktionierende Lösung gefunden haben
Do, ut des!
Ceterum censeo, carthaginem delendam esse

20

25.10.2003, 21:29

Weis ich ja nicht. Vieleicht haste aber auch nur die Kamera falsch eingestellt oder vergessen die Projektionsmatrix zu setzen. Oft sind es nur ganz Banale Dinge die falsch laufen und schon sieht man nischt.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige