IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

Redimensionnement d'une fenêtre Directx


Sujet :

DirectX

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 68
    Points : 34
    Points
    34
    Par défaut Redimensionnement d'une fenêtre Directx
    Bonjour,

    Je me suis aperçu d'un problème plutôt étrange. J'ai fait une application directx dans une fenêtre qui s'ouvre en 915x750. J'appuie alors sur le bouton agrandir pour qu'elle occupe la totalité de la surface de mon moniteur (1280x1024).
    Je constate alors que l'image présente dans la fenêtre est agrandie pour occuper les 1280x1024 un peu comme le fait un logiciel de retouche d'image. L'image est plus grande mais semble très légèrement pixellisée !
    Si la résolution de départ est 320x200, par exemple, l'image en 1280x1024 est tout simplement abominable ! L'ordinateur semble toujours calculer en 320x200.
    J'ai tenteéde remedier à ce problème en insérant le code suivant dans la fonction resize :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    if (_device)
    	{	
    	// Set up the structure	used to	create the D3DDevice
    	D3DPRESENT_PARAMETERS d3dpp;
    	ZeroMemory(&d3dpp, sizeof(d3dpp));
     
    	D3DDISPLAYMODE d3ddm;
    	if(FAILED( _d3d9->GetAdapterDisplayMode(D3DADAPTER_DEFAULT,	&d3ddm)))
    	{
    	return false;
    	}
     
    	d3dpp.Windowed = TRUE;
    	d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    	d3dpp.BackBufferFormat = d3ddm.Format;
    	d3dpp.BackBufferWidth=width;
    	d3dpp.BackBufferHeight=height;
     
    	d3dpp.EnableAutoDepthStencil = TRUE;
    	d3dpp.AutoDepthStencilFormat = D3DFMT_D16
     
    	Terre->InvalidateDeviceObjects();
     
     
    	FEtoiles->InvalidateDeviceObjects();
     
    	if (FAILED(_device->Reset(&d3dpp)))	return false;
     
    	Terre->RestoreDeviceObjects(_device);	
    	Soleil->RestoreDeviceObjects(_device);
    }
    Mais cela ne donne rien, en fait les meshes paraissent alors en noir !

    Que faut-il faire ?

    Avec mes remerciements,

    Franck

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 68
    Points : 34
    Points
    34
    Par défaut
    Heu pardon, il ne faut pas tenir compte de ces deux lignes :

    FEtoiles->InvalidateDeviceObjects();
    Soleil->RestoreDeviceObjects(_device);

    Problème de copier-coller !

    Franck

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 71
    Points : 78
    Points
    78
    Par défaut
    il faut recréer toutes les textures (des meshs), tous les vb et ib qui n'ont pas été crées avec l'attribut D3DPOOL_MANAGED quand tu fais un reset

Discussions similaires

  1. [Débutant]empécher redimensionnement d'une fenètre
    Par yottatiger dans le forum GLUT
    Réponses: 1
    Dernier message: 11/06/2006, 01h43
  2. Réponses: 5
    Dernier message: 28/04/2006, 11h21
  3. [C#] Empecher le redimensionnement d'une fenêtre
    Par Sydaze dans le forum Windows Forms
    Réponses: 2
    Dernier message: 17/11/2005, 16h27
  4. redimensionnement d'une fenetre DirectX
    Par tibyann dans le forum DirectX
    Réponses: 3
    Dernier message: 11/06/2004, 13h09
  5. interdire le redimensionnement d'une fenêtre
    Par marsupile dans le forum C++Builder
    Réponses: 3
    Dernier message: 15/02/2004, 20h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo