TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
| Page : Précédente 1 2 | |||
| Auteur | Message | ||
|---|---|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |||
| Page : Précédente 1 2 | |||
Yno
|
# Posté le 13/06/2007 à 01:01:34 | ||
SCE![]() Groupe : Membres |
Reprise du dernier message de la page précédente :
[OpenGL][11] Comment afficher des images 2D par dessus un rendu 3D ?Il est bien sûr possible de dessiner sur l'écran en "mode 2D" comme avec la SDL, après un rendu 3D, pour afficher des informations comme le nombre de vies restantes, etc... Pour cela, il vous faut reconfigurer votre matrice de projection en perspective cavalière, ou mode "ortho", puis dessiner les objets (généralement munis de textures pour obtenir un plus joli rendu) qui devront être rendus "à plat" sur l'écran. La théorie de la technique est la suivante :
Et en pratique, ça donne ça : Code : C
On suppose ici que W et H sont, respectivement, la largeur et la hauteur de votre fenêtre de rendu.
Édité
le 03/05/2008 à 17:46:51
par Yno
|
||
Ismus
|
# Posté le 13/06/2007 à 22:05:03 | ||
J'aime le sang :p![]() Groupe : Membres |
[OpenGL][12] Peut-on placer une vidéo dans une texture ?
Placer une vidéo dans une texture est une tâche possible mais difficile. De plus, elle est dépendante du système d'exploitation. De ce fait, OpenGL ne fournit aucune fonctionnalité pour effectuer cette tâche. Voici un lien vers un tutorial expliquant comment faire sous Windows :
Édité
le 13/06/2007 à 22:07:16
par Ismus
|
||
GuilOooo
|
# Posté le 15/06/2007 à 17:53:41 | ||
PriPrOTtTt§!!!§![]() Groupe : Membres |
[SDL][7] Pourquoi SDL_FillRect porte ce nom ? Pourquoi son deuxième paramètre est-il toujours NULL ?
Comme pour SDL_BlitSurface, le deuxième paramètre de cette fonction n'est pas toujours NULL. S'il l'est, alors elle colorie toute la surface que vous lui avez passé avec une couleur donnée. Mais on peut aussi lui passer un pointeur d'SDL_Rect. Un SDL_Rect contient les coordonnées d'un rectangle (x,y pour les coordonées du point supérieur gauche, et w,h pour les dimensions de la figure). Si vous passez un pointeur sur un rectangle à SDL_FillRect, alors seule la partie contenue dans ce rectangle va être coloriée. Cette astuce peut éviter d'utiliser plein de SDL_Surface pour rien : vous pouvez directement colorier certaines parties de l'écran à coups de SDL_Rect maintenant. Vous comprenez aussi pourquoi elle s'appelle FillRect : Fill, en Anglais, veut dire «remplir». Du coup, son nom serait, en français : SDL_Remplir_Rectangle. Nom qui peut paraître étrange quand on s'en sert uniquement sur des surface entières (comme dans le cours), mais pas quand on comprend entièrement comment on s'en sert (comme vous maintenant ).
T'as pas un exemple ?
Bien sûr. Imaginons ceci : Code : C /* Je vous passe les initialisations */ /* Ici, on crée un rectangle situé en position (0, 50), qui fait 100px de large pour 150 de haut. Nous allons afficher ce rectangle en vert sur fond jaune. */ SDL_Rect rct; rct.x = 0; rct.y = 50; rct.w = 100; rct.h = 150; /* ... */ while(continuer) { switch(event.type) { /* ... */ } /* On remplit tout l'écran de jaune : 2e paramètre à NULL */ SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 0)); /* Après, on remplit toute la partie située dans notre rectangle en vert */. SDL_FillRect(ecran, &rct, SDL_MapRGB(ecran->format, 0, 255, 0)); /* Et un petit SDL_Flip */ SDL_Flip(ecran); } /* ... */ Concrètement on aura ça : (J'ai ajouté là légende en rouge pour que vous voyez à quoi correspond chaque chiffre) ![]() Faites des expériences pour bien comprendre le principe ! Merci à Yno pour ses suggestions.
Édité
le 22/06/2007 à 12:53:51
par GuilOooo
|
||
Yno
|
# Posté le 15/06/2007 à 20:02:12 | ||
SCE![]() Groupe : Membres |
[SDL][8] Pourquoi utiliser la forme while(SDL_PollEvent()) ? ou pourquoi mes événements sont récupérés en retard ?
Si vous envoyez une suite d'événements rapidement à votre application, et que celle-ci réagi en retard, alors c'est que la file d'événements n'est pas vidée à chaque tour de votre boucle principale. Ce qui signifie ? A chaque fois que vous envoyez un événement à votre application SDL, celle-ci l'empile dans une file d'événements en attente d'être récupérés. Il vous est possible de lire dans cette file avec la fonction SDL_PollEvent(). Si un événement se trouvait dans la file, cette fonction renvoie un entier qui vaut 1 (true), 0 (false) sinon. Si vous ne videz pas cette file à chaque tour de boucle en n'interprêtant à chaque fois qu'un seul événement, elle se remplira et les derniers événements ne seront lu que bien après.Pourquoi c'est lent ? Car avant de pouvoir récupérer le 50ème événement par exemple, il faudra attendre que vote boucle principale s'exécute 50 fois. En supposant qu'un tour s'exécute en 20ms, il faudra attendre 20*50 = 1000ms, soit une seconde avant de pouvoir récupérer le 50ème événement. En une seconde, il peut se passer bien des choses, comme par exemple 100 nouveaux événements dans la file...Que faire ? Il faut se servir de la valeur de retour de SDL_PollEvent(), et récupérer tous les événements de la file à chaque tour de boucle. Pour cela, nous faisons simplement comme ceci :Code : C
Édité
le 30/07/2008 à 20:09:15
par Yno
|
||
Nab
|
# Posté le 03/07/2008 à 15:36:09 | ||
|
KISS Groupe : Membres |
[GTK+][5] À quoi sert le quatrième paramètre de g_signal_connect() et comment l'utiliser ?
Le quatrième paramètre de g_signal_connect() sert à passer des données personnelles au callback passé en troisième argument. Ce paramètre est un pointeur qui va être transmit comme dernier argument au callback. Attention, le pointeur en question est passé en dernier argument, cela ne veux pas forcément dire deuxième. Certains callbacks ont trois, voire plus d'arguments. Référez-vous à la documentation du signal que vous connectez pour en connaître le prototype. |
||
jaco3th
|
# Posté le 03/08/2008 à 08:26:45 | ||
|
Groupe : Membres |
|||
Zomb0
|
# Posté le 09/08/2008 à 14:13:41 | ||
I can, I must, I will.![]() Groupe : Membres |
[GTK+] [6] Où trouver la documentation de référence pour GTK+ ?
Pour l'installation de GTK+, et la gestion des signaux, je conseille le tutoriel du site du zéro. Et pour les widgets, un très bon tuto sur developpez.com.
Édité
le 09/08/2008 à 14:19:23
par Zomb0
|
||
Nab
|
# Posté le 09/08/2008 à 14:42:48 | ||
|
KISS Groupe : Membres |
Citation : Zomb0
[GTK+] [6] Où trouver la documentation de référence pour GTK+ ? […] Il serait bon avec un titre comme ça de fournir les lien vers la documentation de référence justement :
Et même peut-être l'ensemble des documentation présente sur library.gnome.org, qui contient entre autres GTK+, GDK, GDK-Pixbuf, GLib, GObject cités ci-dessus, mais aussi ATK, GIO, Pango, GConf… : http://library.gnome.org/devel/references GNU/ Linux - GNOME - Python - GIMP - Ma bannière est inspirée de celle de iKs. D'ailleurs, si ça te dérange fais-le moi savoir, j'en changerai. |
||
Ismus
|
# Posté le 19/09/2008 à 21:24:28 | ||
J'aime le sang :p![]() Groupe : Membres |
[GTK+][7] Existe-t-il un logiciel de conception d'interface GTK+ ?
Oui. Ce logiciel se nomme Glade. (Interface de Glade) Il prend en charge toute la partie de gestion/génération de l'interface. Les anciennes versions de Glade (2.x) permettaient de générer directement le code en C. Cependant, depuis la version 3, cette fonctionnalité a été supprimée pour différentes raisons. Glade enregistre les interfaces graphiques en générant des fichiers XML. La bibliothèque libglade permet de lire ces fichiers dynamiquement. Grâce à libglade, ces fichiers XML peuvent être utilisés par de nombreux langages de programmation tels que C, C++, Java, Perl, Python, C#, PHP (extension PHP-GTK), Pike, Ruby, Haskell, Objective Caml et Scheme. Quelques liens utiles :
Édité
le 19/09/2008 à 22:11:59
par Ismus
|
||
tat
|
# Posté le 09/11/2008 à 23:33:07 | ||
![]() Groupe : Membres |
J'arrive pas à télécharger SDL_image!
il me semble que le lien http://www.libsdl.org/projects/SDL_ima [...] 1.2.6-VC8.zip n'est plus valide!! Que dois-je faire?
Édité
le 10/11/2008 à 19:34:12
par tat
|
||
GuilOooo
|
# Posté le 10/11/2008 à 19:08:48 | ||
PriPrOTtTt§!!!§![]() Groupe : Membres |
Ce lien fonctionne très bien chez moi...
Tu n'as pas posté la réponse à ta question. Dans ce topic, on poste uniquement les questions posées les plus fréquemment sur le forum avec leurs réponse, pour éviter d'avoir à répéter souvent la même chose. Ma série d'articles « Paradigmes » : Intro - Impératif OpenCola, la seule boisson open-source au monde ! |
||
Retour au forum "Langage C" ou à la liste des forums
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news
Édité par Simple IT SARL :
Nous contacter
| Notre blog | Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
441 Zéros connectés |
8 requêtes |
0.0309s (0.0106s)
