Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1103 connectés 

  FORUM HardWare.fr
  Programmation

  [D3D8] Réaliser un systeme de vues multiples

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[D3D8] Réaliser un systeme de vues multiples

n°97563
Ace17
Posté le 06-02-2002 à 19:25:01  profilanswer
 

Mon application tourne en plein écran. Sur l'écran, j'aimerais que le joueur puisse voir le monde dans lequel il évolue (vue subjective), mais qu'il puisse voir aussi une jauge de vie ou une carte, placés a titre d'indicateurs quoi. C'est pour ca que je voudrais faire un systeme a plusieurs vues, car il y a plusieurs scenes.
 
J'ai d'abord pensé a faire des rendus dans des render targets pour ensuite copier ces surfaces dans mon back buffer, et ensuite présenter le back buffer a l'écran. Seulement les render targets ne marchent pas chez moi (il me renvoie INTERNALDRIVERERROR a la création).
 
LEGREG m'a dit qu'il fallait créer une deuxieme Swap Chain mais il est proclamé partout dans la doc qu'une seule chaine ne peut etre crée en full screen, mais surtout dans le cas ou deux vues se superposent, elles vont se disputer la place du dessus!
 
Voila, je bloque, si quelqu'un pouvait me ré-aguiller...je cherche depuis assez longtemps

mood
Publicité
Posté le 06-02-2002 à 19:25:01  profilanswer
 

n°97573
bjone
Insert booze to continue
Posté le 06-02-2002 à 20:30:03  profilanswer
 

bin j'ai pas essayé, mais tu as une structure D3DVIEWPORT8, et des fonctions:  
 
IDirect3DDevice8::GetViewport  
IDirect3DDevice8::SetViewport  
 
les renders targets, c ce qu'il fo faire pour du cube mapping & co..., mais là je pense que c'est ça qu'il te faut non ?

n°97581
LeGreg
Posté le 06-02-2002 à 21:00:51  profilanswer
 

oui les swap chains ca ne fonctionne
que si les vues sont en mode fenetre.
ca me paraissait evident desole
et j'ai stupidement lu "vues multiples".
 
D'ailleurs tu comprendras aisement pourquoi ca
ne marche pas en pleine ecran: quand tu fais
le present, le driver si il le peut
fait un simple flip des  
surfaces (qui couvrent tout l'ecran).
 
Dans ton cas, il faut rendre chaque
vue dans leur partie de l'ecran  
et faire le present a la fin
(pas la peine de rendre dans une texture).
de plus quand deux vues se superposent  
il faut au prealable effacer la partie
de l'ecran couverte par la vue que tu auras
decide de mettre en dessous (il faut faire un choix!)
et tracer la vue "superieure" apres.
 
A+
LEGREG

n°97583
LeGreg
Posté le 06-02-2002 à 21:06:59  profilanswer
 

Si tes objets couvrent  
toute la vue superieure
tu n'es pas oblige de nettoyer (par Clear(..) )
le tampon de couleur, il te suffit de
nettoyer le tampon de profondeur.
 
tu peux egalement vouloir des effets
ou seule une partie de la vue soit
couverte. (objet 3D flottant au dessus de la vue,
une carte en relief par exemple).
 
Tu peux egalement utiliser les tests
sur le stencil buffer pour ne pas tracer
la vue la ou elle sera ecrasee.
Bref il y a un grand nombre de possibilites.
 
A+
LEGREG

n°97585
Ace17
Posté le 06-02-2002 à 21:21:50  profilanswer
 

Merci a vous deux!! Ca y est j'ai réussi! C'était bien le coup des Viewports en effet, j'y pensais meme plus a ces viewports obligatoires sous Dx7 et facultatifs sous Dx8..  :hello:

n°97722
Ace17
Posté le 07-02-2002 à 12:23:03  profilanswer
 

Une (derniere?) petite question, comment je dois mettre les composantes 1;1 et 2;2 de ma matrice de projection pour que ce qui soit rendu ne soit pas stretché en fonction des dimensions du viewports? Par exemple, si j'ai un viewport qui a une forme tres aplatie, je ne veux pas que l'image dedans le soit aussi! Je voudrais que ca soit coupé.

n°101902
Acidman
no comment
Posté le 18-02-2002 à 16:19:51  profilanswer
 

Desoler de poluer ton topic mais j'essaie en vain d'avoir une reponse de ta part  
j'avais poser une question sur ce topic tu m'avais repondu
que les entete tu pouvais me les donner
et je les voudrais j'en ai vraiment besoin
malheureusement mon topic est partie au oubliette
alors si tu peu aller sur mon topic poster la reponse ca serait sympa
http://forum.hardware.fr/forum2.ph [...] p=1&trash=  
 
merci
 :??:

n°145866
Ace17
Posté le 28-05-2002 à 09:18:39  profilanswer
 

Ace17 a écrit a écrit :

Une (derniere?) petite question, comment je dois mettre les composantes 1;1 et 2;2 de ma matrice de projection pour que ce qui soit rendu ne soit pas stretché en fonction des dimensions du viewports? Par exemple, si j'ai un viewport qui a une forme tres aplatie, je ne veux pas que l'image dedans le soit aussi! Je voudrais que ca soit coupé.  




 
up


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [D3D8] Réaliser un systeme de vues multiples

 

Sujets relatifs
[D3D8] Je ne comprends pas a quoi sert IDirect3DDevice8::PresentSystème de login et mdp pour forum ?
[VB6] et les vues avec ACCESS 2000[C++ / D3D8] Rendu dans une texture,Pourquoi ça foire une fois sur 2 ?
Un système de cookie en php ?[PHP] : comment virer les "infos systeme" (??) des mails envoyes ?
[ADO.Net] Pages multiples[C/C++ - ODBC] Connaitre le système de base de données
[Java] Classes multiples limiter le nombre d'instances d'une classeComment créer un système de menu en C sous DOS ?
Plus de sujets relatifs à : [D3D8] Réaliser un systeme de vues multiples


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR