graphisme qt

graphisme qt

par Mohae Ange Christian N'Guessan,
Number of replies: 1

je voudrais comprendre un probleme que j'ai avec le graphisme. Mon binome et moi on a reussi a dessiner un cone mais c'est un cone creux l'interieur est noir et on a pense a fermer le cone en utilisant glbegin polygon et en l' appliquant les memes points utilser pour creer le cone. Mais glbegin(PL_POLYGON) ne fonctionne pas dans une boucle ou il fonctionne mais on ne le voit pas alors que hors d'une boucle ca fonctionne avec n point;

On voulait aussi avoir des exemples de toupies chinoises roulantes pour voir si nos equations fonctions(on a bien mis des valeur mais apres une minute a donne des valeurs l'equations nous a sortie des "nan" ) 

et aussi par rapport au graphe comment effacer une partie du graphe(pour essayer de creer une methode dessinechinoise) dans l'ideal pour pouvoir supprimer une partie d'une  sphere 

Tags:
In reply to Mohae Ange Christian N'Guessan

Re: graphisme qt

par Jean-Cédric Chappelier,

Trois questions en un message ;-)

  1. je ne sais pas comment vous dessinez votre cône et n'ai pas bien compris la question
  2. la toupie chinoise diverge vite avec Euler. EDIT 22 mai : pour des valeurs, voir ce fil de discussion : https://moodlearchive.epfl.ch/2019-2020/mod/forum/discuss.php?d=35282#p72061
  3. je ne sais pas à quel niveau vous programmez le graphisme
    • en version « old style » : voyez du coté de glClipPlane
    • avec des shaders: faites un shader inspiré de celui de la sphère mais dans lequel vous utilisez un « discard » dans la partie fragment si le produit scalaire entre la position et le vecteur du plan qui coupe est négatif. Par exemple :
      dans vertex_shader.glsl:
      varying float draw;
      ...// dans le main() :
      draw = dot(gl_Position, clip_plane);
      ...

      et dans fragment_shader.glsl :
      varying float draw;
      ...// dans le main() :
      if (draw < 0.0) {
              discard;
          }
      gl_FragColor = vec4(ma_couleur, 1.0);