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

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

11

06.05.2007, 15:06

linkst du die auch in allen konfigurationen (nicht dass du sie nur in der debug gelinkt hast und jetzt grad release kompillierst...).

wenn ja kann ich nur sagen hab ich ka, müsste gehen, jedenfalls kanns der linker nicht finden... :p

WhiteMike

Alter Hase

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

12

06.05.2007, 15:18

Du musst in den Optionen angeben, wo sich die Bibliotheken befinden UND in den Projekteinstellungen eintragen, welche du benutzt.

Mit freundlichen Grüßen,
WhiteMike

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

13

06.05.2007, 15:20

wenn er die lib nicht finden würd, dann würd er anders schreien ;)

bleibt nur die frage offen ob er überhaupt danach sucht :p

wo und wie linkst du?
mit #pragma comment?
wenn ja, bist du sicher, dass er das pragma auch zu sehen bekommt?
.
.
.

GR-PA

Treue Seele

  • »GR-PA« ist der Autor dieses Themas

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

14

24.05.2007, 16:22

Ich habe mittlerweile das problem behoben. 8)
nun tritt aber direkt ein weiteres an seine stelle :evil:
CreateDevice liefert eine Fehlermeldung zurück. :cry:
so sieht der Code aus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
 hResult = g_pD3D->CreateDevice(D3DADAPTER_DEFAULT,
                                                  PD3DDEVTYPE_HAL,
                                                  hWnd,
                                                  D3DCREATE_HARDWEARE_VERTEXPROCESSING,
                                                  &P_Parms,
                                                  g_pD3DDevice)
 if(FAILED(hResult))
 {
 MassageBox(0, "Fehler beim generieren der Schnittstelle", "Fehler", 0);
 ExitD3D()
 } 

Sorry, dass er so "verrutscht" ist, aber irgendwie hat er nicht anders hingepasst :?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

15

24.05.2007, 17:39

zeig mal wie du P_Parms initialisierst.

GR-PA

Treue Seele

  • »GR-PA« ist der Autor dieses Themas

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

16

25.05.2007, 20:38

Deklaration:

C-/C++-Quelltext

1
DRDPRESENT_PARAMETERS  P_Parms;


Füllen mit Daten:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
P_Parms.BackBufferWidth                    =800;
 P_Parms.BackBufferHeight                   =600;
 P_Parms.BackBufferFormat                  =D3DFMT_R8G8B8;
 P_Parms.BackBufferCount                    =1;
 P_Parms.MultiSampleType                   =D3DMULTISAMPLE_NONE,
 P_Parms.MultiSampleQuality                =0;
 P_Parms.SwapEffect                            =D3DSWAPEFFECT_COPY;
 P_Parms.hDeviceWindow                     =hWnd;
 P_Parms.Windowed                             =FALSE;
 P_Parms.EnableAutoDepthStencil         =TRUE;
 P_Parms.AutoDepthStencilFormat         =D3DFMT_D24S8;
 P_Parms.Flags                                     =0;
 P_Parms.FullScreen_RefreshRateInHz   =D3DPRESENT_RATE_DEFAULT;
 P_Parms.PresentationInterval                =D3DPRESENT_INTERVAL_DEFAULT;

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

17

25.05.2007, 20:45

nimm als backbufferformat D3DFMT_X8R8G8B8 ;)
außer natürlich deine graka unterstützt D3DFMT_R8G8B8 als bbfmt. ich jedenfalls hatte noch keine graka die das tat :p

achja:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
hResult = g_pD3D->CreateDevice(D3DADAPTER_DEFAULT,
                                                  PD3DDEVTYPE_HAL,
                                                  hWnd,
                                                  D3DCREATE_HARDWEARE_VERTEXPROCESSING,
                                                  &P_Parms,
                                                  g_pD3DDevice)
 if(FAILED(hResult))
 {
 MassageBox(0, "Fehler beim generieren der Schnittstelle", "Fehler", 0);
 ExitD3D()
 }


lässt sich das überhaupt kompillieren?
wenn nein: welchen typ hat g_pD3DDevice?

GR-PA

Treue Seele

  • »GR-PA« ist der Autor dieses Themas

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

18

25.05.2007, 21:13

Der Compiler bringt mir keinen Fehler. Das programm Zeigt ja nur die Fehlermeldung an, dass die initalisierung nich erfolgreich war (Fehler beim initalisieren der Schnittstelle) und wird dann (im Debugmodus) vom Debugger beendet. und zwar an dieser Stelle:

C-/C++-Quelltext

1
2
3
4
5
void ExitD3D()
{
 g_pD3D->Release();
 g_pD3DDevice->Release();
}

Ach übrigens: Mit dem Backbufferformat X8R8G8 ist es genauso und eigentlich habe ich das auch verwendet und aus versehen die ältere version des Codes gezeigt

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

19

25.05.2007, 21:42

das es da abstürzt is klar. g_pD3DDevice ist da ja ein nullpointer.

poste mal den ganzen initialisierungscode.
was für eine graka hast du?

Firefly

Alter Hase

Beiträge: 484

Wohnort: Irgendwoundnirgendwo

  • Private Nachricht senden

20

25.05.2007, 21:58

als was ist denn g_pD3DDevice deklariert? wenn so LPDIRECT3DDEVICE9 g_pD3DDevice; hast du es falsch übergeben und es muss &g_pD3DDevice heißen...

Werbeanzeige