Accueil > Forum > > > > Probleme de clignotement lors d'un affichage directx
Probleme de clignotement lors d'un affichage directx
mardi 4 avril 2006 à 23:16:09 |
Probleme de clignotement lors d'un affichage directx

Shaolyne
|
Suite à quelques expériences personnelles concernant directx, je me
suis heurté à un problème qui ressemble étroitement à un précédent que
l'on avait résolu sur ce meme forum, c'est pourquoi je me tourne vers
vous. En gros, j'ai un clignotement de mon affichage dans un panel, qui
sert de fenetre pour mon device, suite au dev.clear(). Pour supprimer
ce problème avec une picturebox par exemple, il suffit de d'utiliser un
bmp de base à chaque affichage sur lequel on va redessiner mais ici je
ne vois pas trop comment faire pour effectuer une opération
similaire... Merci d'avance! Le tibetain...
|
|
mercredi 5 avril 2006 à 00:10:06 |
Re : Probleme de clignotement lors d'un affichage directx

Lutinore
|
Salut, Direct3D ou DirectDraw !? Direct3D je connais pas mais j'imagine que le principe n'est pas très différent de DirectDraw. Avec DirectDraw on utilise un double buffer voir un triple buffer  l'on dessine dans l'un pendant que l'autre est affiché puis on flip les surfaces.
|
|
mercredi 5 avril 2006 à 09:56:04 |
Re : Probleme de clignotement lors d'un affichage directx

Shaolyne
|
En effet, c bien en direct3D. Directdraw aurait été abandonné depuis la version 8 de directx, c'est pourquoi je me suis penché sur la 2D avec Direct3D. Merci pour ce conseil mais quelques lignes m'aiderai grandement je pense, voici mon affichage du buffer contenant des axes d'une part(linetlist) et un second pour une courbe dessinnée progressivement(linestrip). Il y a quelques constantes et un booleen qui permet de savoir si on veut afficher ou non la courbe(Sinus). Merci d'avance code:
#region Render (rendu graphique)
// Enfin création de la fonction du rendu 3D !
public void Render()
{
//Effacer les vertexes qui existent (vider le BackBuffer) et tout remplir en Bleu
Dev.Clear( ClearFlags.Target, CouleurDevice, 1.0f, 0);
//Commencer à définir ce qui sera visible
Dev.BeginScene();
//On affiche les axes
Dev.SetStreamSource(0, VBufAxes, 0);
Dev.VertexFormat = customVertexFormat; //on redonne à nouveau le format de vertex
Dev.DrawPrimitives( PrimitiveType.LineList, 0, 2);
//On vérifie qu'il faut afficher la sinudoïde
if (Sinus)
{
//Sélection de la source (numéro de la source, ou sont les vertexes, 1er vertexe à afficher)
Dev.SetStreamSource(0, VBuf, 0);
Dev.VertexFormat = customVertexFormat; //on redonne à nouveau le format de vertex
// Enfin on indique le Vertexe de départ, ici 0, et le nombre de primitives a cré (= nombre de triangle), ici 1 puisque l'on a 3 vertexes.
Dev.DrawPrimitives( PrimitiveType.LineStrip, 0, LargeurZone);
}
//Fin de la définition
Dev.EndScene();
//Lancer l'affichage
Dev.Present();
}
#endregion
Donc voila après exécution de ce code j'ai des clignotements.
|
|
mercredi 5 avril 2006 à 10:00:27 |
Re : Probleme de clignotement lors d'un affichage directx

Shaolyne
|
Aussi, je ne vois pas comment dessiner du texte dans mon device (par exemple avec GDI+ je dessinais par un objet graphique référencant mon panel), j'ai donc utilisé l'objet graphique Graphics sur le panel avec une mise à jour lors de chaque mise à jour du device (après le clear), n'y aurait-il pas une autre méthode?
Le tibetain...
|
|
mercredi 5 avril 2006 à 10:06:33 |
Re : Probleme de clignotement lors d'un affichage directx

MorpionMx
|
Réponse acceptée !
Salut, Pour dessiner du Text, utilises Microsoft.DirectX.Direct3D.Font.DrawString();(SDK de fevrier avec l'assembly 2.0, sinon il me semble que c'est DrawText)
Mx MVP C#
|
|
mercredi 5 avril 2006 à 10:42:59 |
Re : Probleme de clignotement lors d'un affichage directx

Shaolyne
|
Merci pour ce premier problème résolu! Reste plus que mon affichage qui est deja beaucoup plus stable depuis cette modification!
Le tibetain...
|
|
Cette discussion est classée dans : probleme, affichage, directx, suite, clignotement
Répondre à ce message
Sujets en rapport avec ce message
Tutos sur DirectX (OpenGL par la suite) en ligne [ par kershin ]
Intéressé depuis peu par la programmation C# et passionné depuis toujours par la création de jeu, je me suis dit qu'il serait peut etre utile de faire
probleme d assemblies avec directX [ par boisnou ]
bonjour j ai un petit souci :j utilise borland c# et je voulais compiler une source utilisant directX 9 (source disponible sur ce site). et borland ne
probleme affichage boite de dialog [ par catamenia ]
bonjours,J'utilise une colorDialog dans un programme mdi.Le probleme est que lorsque j'ai un enfant dans ma fenêtre parent et que je fais colorDialog1
Probleme d'affichage de date bdd access [ par kuochsia ]
bonjour,je bosse sur des winforms avec une base de donnée access, mon soucis est que lorsque j'affiche dans un dategrid un colonne avec les date de fa
Probleme avec les références et le SDK directx 9 [ par bernie666 ]
Bonjour à tous, Voila j'ai un petit probleme , je viens d'installer le sdk pour directx 9 en suivant un petit tutorial je voulais testerces fonctionn
Diaporama, probleme d'affichage [ par struk1981 ]
Hello, Je suis entraind e faire un diaporama en c# mais j'ai un petit probleme! L'affichage d'une seule image se passe fort bien (heureusement :o) )
Probleme Affichage [ par citt ]
Bonjour,Dans un panel je creer dynamiquement 2 label, un textbox et un bouton par ligne. Mon soucis et que lorsque le nombre de ligne depasse la taill
affichage d'un frame [ par mimou01 ]
<img src="/imgs2/smile_blush.gi
Probleme affichage table [ par fredspv ]
Bonjour,J'utilise VISUAL STUDIO 2005, et lors de la mise en place d'un datagrid par exemple, je n'arrive pas sous visual de voir et ainsi de pouvoir s
probleme affichage d'un champ listbox dans textbox [ par philpas2 ]
bonjour, j'ai un problème pour afficher la valeur d'une ligne d'un listbox dans un textbox. Mon listbox m'affiche le contenu d'un dataset. Lorsque je
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|