Historique des modifications - Message

Message #11262

Sujet: Cinématique


TypeDateAuteurContenu
Création du message18-05-2013 12:12:11Neckara
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

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
276 invités en ligne
membre en ligne: -
RSS Feed