IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Ecran virtuel en langage C


Sujet :

C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    amateur
    Inscrit en
    Mars 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Mars 2015
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Ecran virtuel en langage C
    salut à tous et à toutes
    autrefois j'ai lu un article d'un développeur de jeux vidéos, il parlait de la création d'une écran virtuelle en langage C dans laquelle il a codé son jeux vidéo puis il a copié le contenu de l'écran virtuelle vers l'écran réelle (physique). il a dit que le but de cette technique est d'assurer la fluidité des mouvements et une très bonne visualisation des animations parce que lorsqu'on efface l'écran physique et on redessine l'image à chaque fois qu'on bouge les personnes on obtient une mauvaise animations (des ruptures dans l'animation). cela c'était à l'époque ou les développeurs utilisaient le compilateur turbo c++ (graphic.h). je sais que maintenant il y a de bibliothèques faites pour la programmation des jeux vidéos et qui s'occupent de tous mais je me demande toujours comment il a crée un écran virtuel et comment il a copié son contenu dans l'écran réel.
    si quelqu'un peut nous éclaircir sur ce point là avec quelques exemples ou connaît un tutoriel ou un livre qui traite ce genre de programmation.
    une autre question:
    est ce qu'on peut programmer la même chose en se servant de gnu asm de gcc et de langage C. interruption vidéo et dessin avec l'assembleur et codage en langage C
    merci beaucoup
    cordialement

  2. #2
    Membre éclairé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2015
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Septembre 2015
    Messages : 204
    Points : 839
    Points
    839
    Par défaut
    recherche "double buffering"

    en gros, tu crées une zone mémoire égale à la taille affichée sur l'écran réel
    tu calcules la prochaine image à afficher dans cette zone mémoire
    et dès que tous les calculs/affichages sont faits sur cette zone mémoire, tu copies cette zone mémoire sur l'écran

    et ainsi de suite pour les autres images


    dans certains jeux, ils font même plusieurs zones mémoire :
    - 1 pour l'affichage de la prochaine image
    - 1 pour stocker les sprites (ils se servent de cette zone pour alimenter la 1ère et limiter les accès disque)

  3. #3
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Si c'est du double buffering , alors la technique est assez vielle et ultra courante.

    si quelqu'un peut nous éclaircir sur ce point là avec quelques exemples ou connaît un tutoriel ou un livre qui traite ce genre de programmation.
    Comme expliqué plus haut , tu vas dessiner dans un buffer , et un autre servira pour l'affichage.
    Par contre ça n'a rien n'a voir avec l'animation ou le compilateur ,c'est juste fait pour pas avoir des glitch graphique.

    Et concrètement ce n'est pas très compliqué , ça demande juste de faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    char buffer1[100000];
    char buffer2[100000];
    Donc tu écrit dans le buffer 1 , tu affiche le buffer 2 , dans la frame suivante , tu écrit dans le buffer 2 , tu affiche le buffer 1 , ainsi de suite.
    De nos jours on ne fait plus ça le GPU gère le Double buffering automatique (et surtout on ne fait plus de draw software).

    est ce qu'on peut programmer la même chose en se servant de gnu asm de gcc et de langage C. interruption vidéo et dessin avec l'assembleur et codage en langage C
    Non
    Quel question ,tu peux faire en assembleur tout ce que tu peux faire dans les autres langages.
    Par contre de nos jours tu pourra pas faire des interruptions vidéo parce que l'OS te l'interdira
    Et à l'époque , on écrivait directement sur la mémoire vidéo (parce que plus rapide que faire des interruptions).

    Mais là aussi je trouve que ce n'est pas représentative de ce qui se faisait à l'époque (si on parle de faire des jeux en asm) , le PC s'est imposé tardivement (et principalement avec W95) , avant les ordinateurs était plus sur Micro , et pas mal de jeux était fait sur Amiga , Atari ST , PC-88 etc etc
    Et leur fonctionnement diffère pas mal du PC , vu que certain avait tout simplement des accélérations matériel pour le rendu 2D.
    Sur console , il y'a toujours eu des "GPU" pour le rendu , et bien entendu il fonctionnait bien différemment d'un PC classic.
    Une autre particularité des consoles était qu'elle n'avait pas de Frame Buffer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecran virtuel android sur pc en noir
    Par Magiceyes dans le forum Virtualisation
    Réponses: 0
    Dernier message: 11/05/2016, 12h39
  2. Ecran virtuel pour capturer fenetre
    Par nemodev dans le forum Windows
    Réponses: 4
    Dernier message: 05/11/2009, 16h49
  3. Quels langages pour créer un monde virtuel interactif
    Par bailamos dans le forum Windows
    Réponses: 3
    Dernier message: 06/10/2007, 00h27
  4. Quel langage choisir pour site d'élevage virtuel ?
    Par kiki59236 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 14/10/2006, 10h44
  5. Existe-t-il un langage de prog "virtuel" en Français
    Par HRS dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 10/06/2002, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo