Bonjour,

J'essai de charger des lightmap provenant des fichiers bsp d'half-life 2...
Le probleme que j'ai, c'est que ces lightmaps ont des tailles pas du tout conventionnelle (10*4, 30*28, 4*15, etc...).

J'ai essayé "naivement" de les charger comme ca :

pLightmapTex = new Texture(dev, sizeX, sizeY, 1, Usage.Dynamic, Format.A8R8G8B8, Pool.Default);
GraphicsStream stream = pLightmapTex.LockRectangle(0, LockFlags.Discard);
for (int i = 0; i < sizeX * sizeY ; i++)
{
stream.WriteByte(tabLighting[ofs + i].B); // B
stream.WriteByte(tabLighting[ofs + i].V); // V
stream.WriteByte(tabLighting[ofs + i].R); // R
stream.WriteByte(0); // A
}
pLightmapTex.UnlockRectangle(0);
stream.Dispose();
Mais avec des tailles non multiple de puissance de 2 on obtient un peu n'importe quoi comme resultat...(c'etait previsible^^)

Comment feriez vous ? Faut il redimensionner les lightmap avant ? Voyez vous un moyen simple de faire cela ? sachant qu'a la source je n'ai pas un fichier image mais juste des données RGB bruttes...(pas moyen de redimenssioner les images a la source donc...)