Historique des modifications - Message

Message #11262

Sujet: Cinématique


Type Date Auteur Contenu
Création du message 18-05-2013 12:12:11 Neckara
Bonjour,

Le code marche parfaitement mais maintenant j'aimerais tenter de redimensionner la vidéo en fonction de la taille de la fenêtre.
La texture ne semble pas avoir de méthode setScale(), donc soit il faudrait que :
  • Je la copie dans une image pour la redimensionner (?);
  • j'essaye de jouer avec le viewport (?) ;
  • ou le faire de manière brute dans le code :

irr::u32 *tBits = (irr::u32*)VTexture->lock();
                for(irr::u32 x=0; x<data->width; ++x)
                {
                    for(irr::u32 y=0; y<data->height; ++y)
                    {
                        int p = x*3+y*data->FrameRGB->linesize[0];
                        tBits[y*data->width+x] = data->FrameRGB->data[0][p]   << 16 |
                                                 data->FrameRGB->data[0][p+1] << 8 |
                                                 data->FrameRGB->data[0][p+2];
                    }
                }
                VTexture->unlock();

Il suffit juste de calculer le poids de chaque images mais pour une vidéo de 1024x800, cela ferait quand même 819 200 calculs avec pas mals de flottant sur le CPU, j'ai donc peur de faire un traitement beaucoup plus lourd, moins efficace (?) et avec plus de chances d'erreurs que si j'utilisais une foncionnalité d'Irrlicht.

Qu'en penses-tu?

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
144 invités en ligne
membre en ligne: -
RSS Feed