J'ai compris ce que tu veux dire. En gros, ne sachant pas quelle résolution l'utilisateur prendra (eh oui, le mieux c'est d'avoir le choix), je ferais mes RTTs avec une taille qui sera un ratio de la taille écran. C'est pas très clair donc je m'explique :
Chacun des rtts fait 308*308px sur ma texture finale de 1024*1024px. Maheureusement l'écran fait screenx*screeny px donc il faut que je mette mes rtts à l'échelle de l'écran.
int x = 308/1024*screenx; // je remplacerai 308/1024 par la valeur.Pas de calcul inutile.
int y = 308/1024*screeny;
ITexture * rtt = driver->createRenderTargetTexture(dimension2d<s32>(x,y));
Une fois que tout mes RTTs sont à l'écran je fais :
IImage * screenshot = driver->createScreenShot();
IImage *target = driver->createImage (ECOLOR_FORMAT format = A8R8G8B8, dimension2d(1024,1024));
screenshot->copyToScaling (target); // on remet l'image en 1024*1024 px.
Pour le reste il n'y a pas de problème normalement.
Merci pour l'aide!
Hors ligne
Plutôt que de passer par la fonction 'screenshot', si tu passais par un rendu sur texture, tu t'affranchis de la taille de l'ecran
et cela te simplifierais pas mal les choses je pense, non ?
Hors ligne
Bonjour tous le monde,
J'essaye de crée un shader HLSL de cel shading pour irrlicht moi aussi, donc je suis passé sous 3dsMax, j'ai crée un material et j'essaye de l'exporter en .fx, mais impossible le bouton est grisé. Donc je voudrai savoir comment tu as fais stp.
Sinon j'ai essayé de télécharger le logiciel fx compositor 2.5, mais j'y comprend pas grand chose, alors j'aimerai savoir si quelqu'un voudrait bien m'aider svp, je vous remercie d'avance
Cordialement
Hors ligne