D3DERR_DEVICELOST-woran kanns liegen?
-
wie nen falschen Bildbuffer? Es geht doch jetzt um das Device.
-
jep, bei createdevice muss man etliche parameter angeben, zb auch den bildbuffer,vielleicht verliert er ja die device, wenn man die grafikkarte vergewaltigt
-
nein, ich denke, dann kriegst du es erst gar nicht. Aber du kannst ja auch einfach mal den InitCode von nem Tutorial kopieren und schauen...
-
eigentlich würds ja reichen die device auf ref zu stellen^^
-
Also ich nehm immer HAL. Funktioniert wunderbar.
-
aber mit ref is man absolut graka unabhängig
so, da ref irgendwie nich klappen wollte(D3DERR_NOTAVAIBLE)
hab ichs nochmal mit hal probiert
folgende einstellungen kamen zum einsatz:D3DPARAM->BackBufferWidth=800; D3DPARAM->BackBufferHeight=600; D3DPARAM->FullScreen_RefreshRateInHz=D3DPRESENT_RATE_DEFAULT; D3DPARAM->BackBufferFormat=D3DFMT_R5G6B5; D3DPARAM->BackBufferCount=1; D3DPARAM->MultiSampleType=D3DMULTISAMPLE_NONE; D3DPARAM->SwapEffect=D3DSWAPEFFECT_DISCARD; D3DPARAM->hDeviceWindow=NULL; D3DPARAM->Windowed=false; D3DPARAM->EnableAutoDepthStencil=false; D3DPARAM->PresentationInterval=D3DPRESENT_INTERVAL_DEFAULT;
ich glaub, das waren die wichtigsten, und auch die niedrigsten einstellungen die überhaupt gingen
die createdevice methode:hresult=g_pD3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hwnd,D3DCREATE_MIXED_VERTEXPROCESSING,DirectXParameter.parameter,&g_pD3DDevice);
nunja, klappt immernochnet^^
hab ich vielleicht was vergessen?
-
Und was sagen die debug runtimes dazu?
Bye, TGGC (Der Held ist zurück)
-
ich weis, die frage ist dumm, aber was meinst du damit
//edit meinste den d3dspy?
-
Bye, TGGC (Der Held ist zurück)
-
ich danke
ich lads mir mal runner, und dann gehts los..
//irgendwie bin ich jetzt auch nich schlauer,hab da szeug installiert, und was hab ich jetzt davon,bzw wie kann ich das jetzt aktivieren(borland c++6.0)
-
otze an Gehrin: Wo stellt man in Windows was an?
Gehirn an otze: in der Systemsteurung!Bye, TGGC (Der Held ist zurück)
-
otze an tggc das hab ich schon längst gefunden, aber ich dachte, man müsste noch irgendwo was anstellen,zb im debug von borland c++,weil er mir nämlich sogar bei höchster fehlereinstellung nichts ausgespuckt hat :p
dafür hat sich meine logfunktion mal wieder als nützlich erwiesen
rotation.MrotationZ(40); translation.Mtranslation(0,0,2.0f); world=rotation*translation;
klappt nämlich nicht
hier der logteil:
rotation
-0.666938 0.745113 0.000000 0.000000
-0.745113 -0.666938 0.000000 0.000000
0.000000 0.000000 1.000000 0.000000
0.000000 0.000000 0.000000 1.000000translation
1.000000 0.000000 0.000000 0.000000
0.000000 1.000000 0.000000 0.000000
0.000000 0.000000 1.000000 0.000000
0.000000 0.000000 2.000000 1.000000world
0.000000 0.000000 0.000000 0.000000
0.000000 0.000000 0.000000 0.000000
0.000000 0.000000 0.000000 0.000000
0.000000 0.000000 0.000000 0.000000wie man sieht klappt die multiplikation nich richtig,ich weis nich, obs meinen fehler behebt,wenn ich das fertig mach, aber einen versuch is es sicher wert
hmm...
eine frage noch:world=rotation*translation;
ist doch das gleiche wie:
world.operator=(rotation.operator*(translation))
oder?
-
hmm das wars nich
was soll ich machen? ich krieg keine parse errors, alle rechnungen sind jetzt richtig, und die grafik läuft auf niedrigstem lvl, aber der pc zeigt mir immernoch den blakscreen und den error im log
//edit habs nu mal nem freund zum compilen mit dem vc++ gegeben
das hier is der debug log,ich kann zwar nichts damit anfangen, vielleicht weis aber jemand von euch, was das bedeuted
irect3D9: :====> ENTER: DLLMAIN(00d733c0): Process Attach: 00000c1c, tid=000008cc
Direct3D9: (WARN) :Executing processor detection code (benign first-chance exception possible)Direct3D9: (INFO) :MMX detected
Direct3D9: (INFO) :Pentium Pro CPU features (fcomi, cmov) detected
Direct3D9: (INFO) :dwCPUFamily = 6, dwCPUFeatures = 7
Direct3D9: (INFO) :szCPUString = AuthenticAMD
Direct3D9: :====> EXIT: DLLMAIN(00d733c0): Process Attach: 00000c1c
Direct3D9: (INFO) :Direct3D9 Debug Runtime selected.
Direct3D9: (INFO) :======================= Hal MixedVP device selectedDirect3D9: (INFO) :HalDevice Driver Style 9
Direct3D9: :Subclassing window 00cb0084
Direct3D9: :StartExclusiveMode
Direct3D9: :Window 00030038 is on top of us!!
Direct3D9: :Window 0016020c is on top of us!!
Direct3D9: :Window 00030038 is on top of us!!
Direct3D9: :Window 0016020c is on top of us!!
Direct3D9: :Window 00030038 is on top of us!!
Direct3D9: :Window 0001007a is on top of us!!
Direct3D9: :Window 0016020c is on top of us!!
Direct3D9: :WM_DISPLAYCHANGE: 1024x768x32
Direct3D9: (INFO) :Failed to create driver indexbuffer
Loaded 'C:\Programme\Gemeinsame Dateien\Logitech\Scrolling\LGMSGHK.DLL', no matching symbolic information found.
Loaded 'C:\Programme\Logitech\iTouch\KbdHook.dll', no matching symbolic information found.
Direct3D9: :WM_ACTIVATEAPP: BEGIN Deactivating app pid=00000c1c, tid=000008cc
Direct3D9: :DoneExclusiveMode
Direct3D9: :INACTIVE: 00000c1c: Restoring original mode (1024x768x22x60) at adapter index 0
Direct3D9: :WM_DISPLAYCHANGE: 1024x768x32
Direct3D9: :*** Active state changing
Direct3D9: :WM_ACTIVATEAPP: DONE Deactivating app pid=00000c1c, tid=000008cc
Direct3D9: :*** WM_NCDESTROY unhooking window ***
Direct3D9: :*** Unhooking window proc
Direct3D9: (WARN) :Window does not have focus. TestCooperativeLevel fails
Direct3D9: (ERROR) :Reset fails. D3DERR_DEVICELOST returned.
Direct3D9: (ERROR) :Reset failed and Reset/TestCooperativeLevel/Release are the only legal APIs to be called subsequently
Direct3D9: :DoneExclusiveMode
Direct3D9: (ERROR) :Device is in an invalid state. Only Reset, TestCooperativeLevel or Release could be called
Direct3D9: :Subclassing window 00cb0084
Direct3D9: :StartExclusiveMode
Direct3D9: (INFO) :Failed to create driver indexbuffer
Direct3D9: :DoneExclusiveMode
Direct3D9: :INACTIVE: 00000c1c: Restoring original mode (1024x768x22x60) at adapter index 0
Direct3D9: :====> ENTER: DLLMAIN(00d733c0): Process Detach 00000c1c, tid=000008cc
Direct3D9: (INFO) :MemFini!
Direct3D9: :====> EXIT: DLLMAIN(00d733c0): Process Detach 00000c1c
-
Steht doch eigentlich alles da. Dein Fenster hat den Focus nicht (weil andere drüber sind) und du kannst nur noch "Reset, TestCooperativeLevel or Release" aufrufen.
Bye, TGGC (Der Held ist zurück)
-
omg nach ner stunde stöbern hier im forum hab ich die lösung: ich hab meine projektionsmatrix verhunzt,und die ganzen fehlermeldungen erscheinen nach dem letzten durchlauf,wo ich das fenster close
najo, inzwischen hab ich ein sich um 2 achsen drehendes dreieck erschaffen
aber danke an alle,ihr wart sehr kooperativ