Historique des modifications - Message

Message #11787

Sujet: Changer la coloration de la texture d'une skybox


Type Date Auteur Contenu
Création du message 06-05-2017 22:52:40 Magun
un petit coup de shader: (ici version 1.2)

Code c++ :


uniform sampler2D texture;
uniform vec4 color;

void main(){
    gl_FragColor = texture2D(texture, gl_TexCoord[0].xy) * color;
}


sinon tu retouche directement la texture (donc garder un double en mémoire)
tu itère sur tous les pixel de ta texture et tu multipli par une couleur de reference

Code c++ :


      char* tmp = (char*)texture->lock();
      for(int x = 0; x<texture->getSize().X; x += 4) {
          for(int y = 0; y<texture->getSize().y; ++y) {
               tmp[y * texture->getSize().X + x + 0] *= color_alpha;
               tmp[y * texture->getSize().X + x + 1] *= color_red;
               tmp[y * texture->getSize().X + x + 2] *= color_green;
               tmp[y * texture->getSize().X + x + 3] *= color_blue;
          }
     }


il faut évidement vérifier le type de la texture, ici je te les fait pour A8R8G8B8
dsl je n'ai pas toucher au texture d'irrlicht depusi un moment, il faudras tester wink

si tu compte ajouter d'autre effets plus complexe et dynamique a ton ciel il vaut mieux un shader

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
157 invités en ligne
membre en ligne: -
RSS Feed