-
directx avec 2 écrans
Bonjour,
J’ai 2 écrans 1920*1200 et mon application doit gérer les deux écrans avec directX (j’utilise BC++ 6.0).
Voit-on la zone mémoire comme une seule grande zone, ou comme deux zones bien distinctes, aussi peut-on faire des Flip sur un seul écran à la fois(je suppose que oui si on voit les deux écrans séparé).
Lorsqu’on voit les deux écrans séparé, comment initialise-t-on les pointeurs pour chaque écran?
Merci d’avance
-
J'avoue ne pas avoir tout compris de ta requête....
Direct3D (en fait... DXGI depuis DX10), s'occupe de gérer le fait que ce soit deux écrans, ou deux fenetres sur le même écran.
Ce qui t'interesse en Direct3D c'est:
- Tu n'as qu'un seul "device" (donc une seule instance de textures, buffers, et autres).
- Tu as deux framebuffers indépendants, que tu dois dessiner (et présenter) indépendemment.
Edit: Regardes les tutoriels du DirectX SDK sur le multi-monitors, il sont pas trop mal faits.
-
ok merci je vais regarder ce que je trouve comme doc sur le multi-monitors
en fait ma question est bête c'est évident qu'on peut le faire.
salut
-
Re bonjour,
Je vais être un peu plus précis, en fait j’aimerais savoir comment aborder le problème suivant :
- j’ai une application qui doit tourner en xp et qui doit gérer deux écrans en full screen (avec une carte).
J’aimerais savoir si c’est-ce possible d’avoir deux full screen directx simultané (j’arrive à avoir un full screen + un dans une fenêtre mais pas deux full screen)
Ma question est de savoir si techniquement c’est possible ?
Question subsidiaire avec buidler c++ (6.0), je n’arrive même pas avec directdraw à initialiser ddraw sur le second écran bien que j’arrive à lister mes devices ! je remarque que mes deux devices issus de ma carte ont exactement les même paramètres GUID (?), si bien que lorsque je tente de passer un paramètre autre que null dans DirectDraw Create je reçois DDERR_INVALIDDIRECTDRAWGUID (ex : DirectDrawCreate(myGUID[1], &mypDDObject, NULL).
Merci
-
moi je passe par
Valeur_ecran_trouver(0).GUID = ""
With DirectX.GetDDEnum
For I = 3 To .GetCount
Valeur_ecran_trouver(I - 2).GUID = DirectX.GetDDEnum.GetGuid(I)
Next
End With
en vb6
a mes souvenir le deux premier lister conserne l'ecran principal
sion oui c est possible avec driectdraw tu crée un ensemble directdraw pour chaque ecran
exemple:
Set DD(1) = DirectX.DirectDrawCreate(Valeur_ecran(numero + 1).GUID)
DD(1).SetCooperativeLevel Affichage_f.hWnd, DDSCL_SETFOCUSWINDOW Or DDSCL_CREATEDEVICEWINDOW Or DDSCL_FULLSCREEN Or DDSCL_EXCLUSIVE Or DDSCL_ALLOWREBOOT
j espere que ca ta aider