Historique des modifications - Message

Message #5186

Sujet: refresh texture


TypeDateAuteurContenu
Dernière modification14-12-2008 02:44:06Magun
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 noirneutral-> screen

euh sinon je risque de me réveiller ver 1h donc attendez pas que je réponde avenswink
Création du message14-12-2008 02:37:29Magun
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 noirneutral-> screen

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

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