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

  FORUM HardWare.fr
  Programmation

  [C/C++/OPENGL] comment ecrire dans un HDC

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C/C++/OPENGL] comment ecrire dans un HDC

n°19659
kick
Posté le 21-03-2001 à 11:19:00  profilanswer
 

voila, je m'interresse à la programmation graphique depuis quelque temps, et je me pose quelques question.
Est il possible de faire du 2D en opengl?(je crois pas)
Peut-on ecrire dans un HDC? ca doit etre une zone memoire representant chque pixel de l'ecran?
merci d'avance
 
KICK

mood
Publicité
Posté le 21-03-2001 à 11:19:00  profilanswer
 

n°19662
gilou
Modérateur
Modzilla
Posté le 21-03-2001 à 11:30:54  profilanswer
 

un HDC (a la sauce windows) ca represente beaucoup plus: tout ton etat graphique en fait.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°19665
golgoth99
Posté le 21-03-2001 à 11:34:51  profilanswer
 

il est tt a fait possible de faire de la 2D en opengl !!!

n°19673
LeGreg
Posté le 21-03-2001 à 12:14:01  profilanswer
 

OpenGL = API 2D/3D
 
Je vais t'etonner:
il est meme possible d'accelerer de l'affichage 2D
avec une carte acceleratrice 3D.
 
Voila
LEGREG

n°19714
titi1578
Posté le 21-03-2001 à 14:36:57  profilanswer
 

Voici le code si tu veux inserer de l'opengl avec une application sous MFC (Windows) :  
 
HWND  ghWnd;
HDC   ghDC;
HGLRC ghRC;
CDC*   cDC;
 
 
cDC = m_Opengl.GetDC();
ghDC = cDC->m_hDC;
 
ghRC = wglCreateContext(ghDC);
wglMakeCurrent(ghDC, ghRC);
 
displayGL(ghDC);
 
 
m_Opengl represente un objet graphique.
displayGL affiche les objets opengl.

n°19728
kick
Posté le 21-03-2001 à 16:30:40  profilanswer
 

oui merci, c'est bien bo tout ca, mais meme si on peut faire du 2d, on peut pas acceder à la zone memoire representant l'ecran, pour faire par exemple, un effet de feu par exemple.  
Et autrement, comment faire pour afficher à des coordonnées voulus sur l'ecran quand il y a une camera(les coordonnées sont relative à la camera et non plus à la resolution de l'ecran).voila, merci quand meme pour vos reponse ci dessus.

n°19736
darkoli
Le Petit Dinosaure Bleu
Posté le 21-03-2001 à 16:50:48  profilanswer
 

tu peux recuperer et logiquement remplacer une partie de l'image en cours de realisation
 
glReadPixels(0,0,largeur_ecran,hauteur_ecran,GL_RGB, GL_UNSIGNED_BYTE, image);

n°20076
kick
Posté le 23-03-2001 à 13:35:46  profilanswer
 

merci, mais je sais pas comment on ecrit dans un hdc, ya pas des tutoriaux  
merci

n°20143
janoscoder
Posté le 23-03-2001 à 17:50:18  profilanswer
 

on ne peut écrire directement sur une surface openGL? il ne faut pas espérer avoir un pointeur sur les données graphiques, et de toute manière c'est tant mieux, car ça ralentirait tout d'obliger le bus AGP à transférer des données non consécutives et dans les deux sens en plus.
Le mieux pour tripatouiller directement et avoir des effets est de rendre son effet en RGB (par exemple) dans une zone mémoire réservée par ses propres soins, et de la copier à l'écran avec glCopyPixels.
Enfin, y'a pas de données graphiques dans un HDC, c'est juste le contexte graphique.

n°20158
seblamb
Posté le 23-03-2001 à 18:17:50  profilanswer
 

Pour écrire dans un HDC il faut utliser les primitive graphiques GDI de windows ( Bitblt entre autre)
Donc tu fais une recherche sur "GDI" dans le SDK de microsoft et tu trouve ton bonheur.

mood
Publicité
Posté le 23-03-2001 à 18:17:50  profilanswer
 

n°20238
kick
Posté le 24-03-2001 à 11:33:37  profilanswer
 

ok je vais essayer avec glcopypixel, mais ca risque pas d'etre un peut lent si je fait un truc du style à chaque frame

n°20298
kick
Posté le 25-03-2001 à 12:54:36  profilanswer
 

petite question, comment on fait pour reserver une zone memoire en rgb, pasqu'avec glCopyPixels, le dernier parametre representant la surface correspond à un unsigned int et je sais pas comment on associe une zone memoire à un entier
 
HEEEEEEEELLLLLLLPPPPPPPPPPPPPPPP


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

  [C/C++/OPENGL] comment ecrire dans un HDC

 

Sujets relatifs
Comment faire bouger une scène OpenGL avec les coordonnées de la souri[OpenGL] Utilisation d'objets créés avec 3D Exploration
[ASP] comment écrire dans une base en fin de session ??[OpenGL] Modélisation
[OpenGL] Mapping d'objets créés par glut[C] ecrire un tableau[N][N] en binaire dans un fichier
[OpenGL] Normales[OpenGL] Problèmes avec les faces d'une pyramide
[OpenGL] Problèmes[C/C++ opengl] Programmation d'un jeu réseau
Plus de sujets relatifs à : [C/C++/OPENGL] comment ecrire dans un HDC


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