Historique des modifications - Message

Message #5186

Sujet: refresh texture


Type Date Auteur Contenu
Dernière modification 14-12-2008 02:44:06 Magun
Hello !
comme vous savez ( même s'il n'y a que tmyke en se moment <.< )je fait un petit lecteur video depuis qu'elle que jours

se pendant je voudrai l'optimiser sur le rendue d'irrlicht
voila donc avens pour rafraichir ma texture je fessais :
		static int i =0;
		while(++i <3)
		        driver->removeTexture(driver->findTexture("movie"));
		driver->addTexture(VImage,"movie");

qui est très lent
donc je voudrai passer pour une méthode qui rafraîchie la texture sans en crée un nouvelle a chaque frame
		irr::u32 *iBits = (irr::u32*)VImage->lock();
		irr::u32 *tBits = (irr::u32*)VTexture->lock();

		for(irr::u32 i = 0; i < VImage->getImageDataSizeInPixels()/sizeof(irr::u32); i++)
                     tBits[i] = iBits[i];

        VTexture->unlock();
        VImage->unlock();

j'est trouver que quand je divisait par la taille de la variable sa plantait pas bizarre non ?
mais 2 problème sont :
pourquoi sa plante si j'enlève mon "/sizeof(irr::u32)" sa crash <.<
et pourquoi si je le laisse la partie des pixel rafraîchis a une majorité de vert alors que sa devrai être noir neutral -> screen

euh sinon je risque de me réveiller ver 1h donc attendez pas que je réponde avens wink
Création du message 14-12-2008 02:37:29 Magun
Hello !
comme vous savez ( même s'il n'y a que tmyke en se moment <.< )je fait un petit lecteur video depuis qu'elle que jours

se pendant je voudrai l'optimiser sur le rendue d'irrlicht
voila donc avens pour rafraichir ma texture je fessais :
		static int i =0;
		while(++i <3)
		        driver->removeTexture(driver->findTexture("movie"));
		driver->addTexture(VImage,"movie");

qui est très lent
donc je voudrai passer pour une méthode qui rafraîchie la texture sans en crée un nouvelle a chaque frame
		irr::u32 *iBits = (irr::u32*)VImage->lock();
		irr::u32 *tBits = (irr::u32*)VTexture->lock();

		for(irr::u32 i = 0; i < VImage->getImageDataSizeInPixels()/sizeof(irr::u32); i++)
                     tBits[i] = iBits[i];

        VTexture->unlock();
        VImage->unlock();

j'est trouver que quand je divisait par la taille de la variable sa plantait pas bizarre non ?
mais 2 problème sont :
pourquoi sa plante si j'enlève mon "/sizeof(irr::u32)" sa crash <.<
et pourquoi si je le laisse la partie des pixel rafraîchis a une majorité de vert alors que sa devrai être noir neutral -> screen

euh sinon je risque de me réveiller ver 1h donc attendez pas que je réponde avens wink

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