Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Display / Active en dehors de window  (Lu 2040 fois)

0 Membres et 1 Invité sur ce sujet

Alundra

  • Newbie
  • *
  • Messages: 20
    • Voir le profil
Display / Active en dehors de window
« le: Novembre 09, 2012, 05:12:51 pm »
Bonjour,
J'aimerais savoir si il est possible de faire un appel de Display/SetActive en dehors d'un window.
J'ai une class CWindow qui utilise sfml que pour l'OpenGL, du coups DirectX n'a pas besoin de ces fonctions car elle sont utilisés que dans le renderer.
En gros, ca serait de gerer que le context independement de la fenetre pour un renderer OpenGL.

Merci

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Display / Active en dehors de window
« Réponse #1 le: Novembre 09, 2012, 05:17:03 pm »
Non tu ne peux pas, le contexte est lié à la fenêtre. Mais quel est le problème au juste ? Je ne vois pas ce que ça change.
Laurent Gomila - SFML developer

Alundra

  • Newbie
  • *
  • Messages: 20
    • Voir le profil
Re : Display / Active en dehors de window
« Réponse #2 le: Novembre 10, 2012, 03:08:01 am »
Dans mon renderer j'ai une fonction "AddRenderWindow( CWindow* )".
Cette fonction ajout un "TRenderWindow" qui est une "struct" interne a CRenderer.
Dans Direct3D11 chaque struct possede :
IDXGISwapChain* SwapChain;
ID3D11RenderTargetView* RenderTargetView;
ID3D11DepthStencilView* DepthStencilView;
 

Pour OpenGL du coups, cette struct contenait juste un pointer de CWindow qui faisait appel a SetActiveWindow/Display.Le code Direct3D est bien séparé Fenetre/Rendu, alors que OpenGL a ses fonction de rendu dans Fenetre.Il y a donc pas moyen de séparer comme Direct3D ?
Je voudrais avoir 2 DLL OpenGL/Direct3D11, qui serait donc les RenderModule.Il y a une meilleur façon de procéder ?
« Modifié: Novembre 10, 2012, 03:14:55 am par Alundra »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Display / Active en dehors de window
« Réponse #3 le: Novembre 10, 2012, 09:50:34 am »
Pourquoi un CWindow ? Tout ce dont tu as besoin c'est d'un sf::Window*. Vois ça comme l'équivalent à ton ID3D11RenderTargetView*, puisque ton renderer OpenGL utilise SFML.
Laurent Gomila - SFML developer

Alundra

  • Newbie
  • *
  • Messages: 20
    • Voir le profil
Re : Display / Active en dehors de window
« Réponse #4 le: Novembre 10, 2012, 12:54:24 pm »
J'ai une class contenant que des fonctions static qui procède a la init/shutdown et la loop en fonction de la fenêtre définie, du coups CWindow était un wrapper d'une fenêtre OpenGL/nonOpenGL mais peut être serait mieux de faire isolé le fenêtrage de la partie graphique.Du coups avoir une class CEngine qui Init/Shutdown et laisser la loop dans la partie Game/Editor ?
« Modifié: Novembre 10, 2012, 12:56:06 pm par Alundra »