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

DrthM2001

Alter Hase

  • »DrthM2001« ist der Autor dieses Themas

Beiträge: 721

Wohnort: Karlsruhe

  • Private Nachricht senden

1

27.06.2004, 22:15

Vollbild

Ich arbeite gerade an einer "eigenen" Engine die kein TriBase Mod werden soll. Aber ich bekomme keinen Fullscreen. In der Presentparameters Struktur ist Fullsreen aber eingetragen, wo muss ich noch was ändern damit meine Grafikkarte die Bildschirmauflösung ändert?

-Der N00b hat gesprochen.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

27.06.2004, 22:39

seltsam...du hast "PresentParams.Windowed= true;" ganz sicher?
PS:ALLES ist hörbar wenn es sich in einem medium gefindet......
PPS:verzeih oh großer herrscher, ich schwöre ich mache nie wieder einen fehler.......(also ob das möglich wäre ;D )
PPPS:(wird ja schon zu gewohnheit) ist die auflösung denn regelkonform?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

DrthM2001

Alter Hase

  • »DrthM2001« ist der Autor dieses Themas

Beiträge: 721

Wohnort: Karlsruhe

  • Private Nachricht senden

4

28.06.2004, 14:41

Oh nein! CreateDevice schlägt fehl! das ist also der Fehler. Woran kann das liegen? Hier meine PresentParameters (Ich habe schon einen Configdialog aber der reagiert noch nicht, das mach ich aber noch):
D3DPRESENT_PARAMETERS PresentParams;

g_pD3D=Direct3DCreate9(D3D_SDK_VERSION);
if(g_pD3D == NULL)
{
//ERROR
}
ZeroMemory(&PresentParams, sizeof(D3DPRESENT_PARAMETERS));
PresentParams.BackBufferWidth=640;
PresentParams.BackBufferHeight=480;
PresentParams.BackBufferFormat=D3DFMT_X8R8G8B8;
PresentParams.BackBufferCount=2;
PresentParams.MultiSampleType=D3DMULTISAMPLE_2_SAMPLES;
PresentParams.MultiSampleQuality=0;
PresentParams.SwapEffect=D3DSWAPEFFECT_DISCARD;
PresentParams.hDeviceWindow=g_hWindow;
PresentParams.EnableAutoDepthStencil=true; //?
PresentParams.AutoDepthStencilFormat=D3DFMT_D24S8;
PresentParams.Flags=D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL;
PresentParams.FullScreen_RefreshRateInHz=D3DPRESENT_RATE_DEFAULT;
PresentParams.PresentationInterval=D3DPRESENT_INTERVAL_DEFAULT;
PresentParams.Windowed=FALSE;

if(FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,g_hWindow, D3DCREATE_HARDWARE_VERTEXPROCESSING, &PresentParams, &g_pD3DDevice)))
//funzt nich. . . .

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

28.06.2004, 16:30

Hmmm ich würde erstmal das so einstellen:
PresentParams.BackBufferCount = 1;
PresentParams.MultiSampleType = D3DMULTISAMPLE_NONE ;
PresentParams.MultiSampleQuality = 0;
Den Rest müsste deine graka schaffen ;D
ach und ist der Fenster Handle auch korrekt?

DrthM2001

Alter Hase

  • »DrthM2001« ist der Autor dieses Themas

Beiträge: 721

Wohnort: Karlsruhe

  • Private Nachricht senden

6

28.06.2004, 16:51

Das Fenster handle ist extern gemacht, und kommt aus der WinMain.cpp (wo sich auch Winmain und initwindow etc befindet). Das mit dem Fullscreen ist ja logisch, wenn CreateDevice fehlschlägt! Aber woran könnte es denn noch liegen? Presentparams ist richitg, und die Parameter auch! ???

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

7

28.06.2004, 17:06

DIe schlägt fehle wenn z.b. ein parameter falsch ist oder eine andere Var falsch ist, was in deinem falle nicht ist! Außer warte mal, wir die TV karte auch als Graka gewertet? Deaktiviere die mal...nur zum teste.......

DrthM2001

Alter Hase

  • »DrthM2001« ist der Autor dieses Themas

Beiträge: 721

Wohnort: Karlsruhe

  • Private Nachricht senden

8

28.06.2004, 17:11

Ne ich hab erst letztens Formatiert und die TV Karte ist noch nicht installiert (TReiber). Gibt es nicht eine Möglichkeitet, anhand eines Rückgabewertes oder so zu schauen warum es fehlgeschlagen ist? ? ? ? Oder macht sich jemand die Mühe und schaut da mal kurz rein (email)? :rolleyes:

*weitersuch...* :roll:

big_muff

Alter Hase

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

9

28.06.2004, 17:28

DirectX SDK:

Rückgabewerte von CreateDevice (ausser D3D_OK)

Zitat

D3DERR_INVALIDCALL The method call is invalid. For example, a method's parameter may have an invalid value.
D3DERR_NOTAVAILABLE This device does not support the queried technique.
D3DERR_OUTOFVIDEOMEMORY Direct3D does not have enough display memory to perform the operation.


Die letztden 2 schliesse ich aus bei deiner GraKa. Ich geh mal davon aus das du einen Wert in der PresentParam-Struktur inkompatibel zu den anderen gesetzt hast oder so.
Könntest du die Initialisierung der Struktur mal posten?

Dann wäre auch der Aufruf der CreateDevice()-Funktion nützlich zu sehen.
Könntest du die vielleicht auch noch posten?

Dann könnte man dir sicher weiterhelfen!
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

DrthM2001

Alter Hase

  • »DrthM2001« ist der Autor dieses Themas

Beiträge: 721

Wohnort: Karlsruhe

  • Private Nachricht senden

10

28.06.2004, 17:34

*räusper*...
Ich hab gehört es gibt da eine neue Erfindung aus den USA! Nennt sich Scrollbalken und damit kann man dann lesen was andere Leute vorher schon geschreiben haben ^^
TRotzdem danke ;D

EDIT: Ja der INVALID CALL Fehler tritt auf. Nur wo...?

Werbeanzeige