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

OpenGL Discussion :

fragment shader: passage en n&b


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Par défaut fragment shader: passage en n&b
    Bonjour, en fait j'aimerai savoir comment passer une texture en noir et blanc avec un fragment shader pour ke le rendu soit corect ? c-a-d ki ne laisse pas le blanc blanc et tout le reste noir ?
    Doit je passer par une etape en niveau de gris ? et dans ce cas la comment faire ? (avec du glsl)

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ca dépend ce que tu appelles "noir et blanc" et "rendu correct", il y a une infinité de façons de transformer une image en noir et blanc.

    Je pense qu'effectivement la technique la plus intuitive serait de prendre la formule classique de niveaux de gris, et d'appliquer un seuil (genre 0.5) pour déterminer les pixels noirs et les pixels blancs.

    Ensuite sur la manière de faire en GLSL... Si tu sais utiliser GLSL alors la question ne devrait pas se poser (ce n'est qu'une formule mathématique) ; sinon, commence par lire des tutoriels sur le sujet.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Par défaut
    si j'ai bien compris ce seuil se fait avec un test sur la variable intensity, mais comment avoir cette variable compte tenu que mon objet n'est pas eclairé ? c juste une texture sur un quad...

    ce serai quelque chose comme ca?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    void main() {
     
    	float intensity;
    	vec4 color;
     
    	intensity = ????
          if (intensity > 0.5)
    		color = vec4(0.0,0.0,0.0,1.0);
    	else
    		color = vec4(1.0,1.0,1.0,1.0);		
     
    	gl_FragColor = color;
    }

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Il te manque juste ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    vec4 input = ... ; // là je te laisse faire
    intensity = input.r * 0.30 + input.g * 0.59 + input.b * 0.11;

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Par défaut
    merci bcp Laurent ca marche nikel la, pour le niveau de gris je vai chercher un peu et jte consulterai si j'ai un prob ou si le rendu n'est pas bon

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Par défaut
    Sinon j'aimerai aussi savoir comment faire, toujours dans un fragment shader, une comparaison d'intensité avec les pixels autour de celui ke je pointe ?
    En fait je ne sai pas comment y avoir acces...

Discussions similaires

  1. [GLSL] Texture2D dans un fragment shader
    Par GloW_on_dub dans le forum OpenGL
    Réponses: 7
    Dernier message: 12/04/2010, 15h50
  2. Réponses: 5
    Dernier message: 08/09/2009, 00h10
  3. Fragment Shaders Cg et textures
    Par xelif dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 01/09/2009, 21h00
  4. [JOGL+GLSL] Fragment shader et sample2D
    Par xion.luhnis dans le forum OpenGL
    Réponses: 4
    Dernier message: 21/05/2009, 02h10
  5. Fragment shader - linux vs Win
    Par Omeyocan dans le forum OpenGL
    Réponses: 8
    Dernier message: 30/06/2007, 22h41

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