#0 

30-10-2007 21:06:19

khayyam
Membre
Date d'inscription: 04-03-2007
Messages: 25
Site web

Bien le bonsoir,

Mon problème du jour concerne la création de textures. Le contexte est le suivant :
J'ai besoin d'afficher un grand nombre de fois un grand nombre de textures qui sont toujours (souvent) les mêmes, à la même place.
J'aimerais donc précalculer une texture comme étant l'association d'un groupe de textures déjà chargées en mémoire.

Idéalement il faudrait pouvoir faire comme en SDL ( ! ), créer une surface d'une taille donnée puis y dessiner des textures. De manière à n'avoir plus qu'à appeler la surface lors du rendu.
Existe-t-il un moyen de dessiner une texture dans une autre texture ?

Hors ligne


#1 

04-12-2007 21:04:57

khayyam
Membre
Date d'inscription: 04-03-2007
Messages: 25
Site web

Alors personne n'a d'idée sur le dessin d'une texture ou d'un texte dans une texture donnée ?

Hors ligne


#2 

06-12-2007 11:32:26

khayyam
Membre
Date d'inscription: 04-03-2007
Messages: 25
Site web

Je vais aller voir ce que donne un renderToTexture, ça devrait marcher

Hors ligne


#3 

06-12-2007 22:53:15

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

Pourquoi ne pas éditer directement ta texture en y dessinant l'autre ?

Code:

    // set color for texture
    video::SColor color(255,255,0,0);
    // update texture with color
    s32* p = (s32*)texture->lock();
    for(s32 i=0; i<64*64; i++)
        p[i] = color.color;
    texture->unlock();

Tu remplaces la boucle for en parcourant la texture à dessiner et tu remplaces les pixels de la texture réceptrice par ceux de la donatrice.

Hors ligne


#4 

07-12-2007 08:45:08

khayyam
Membre
Date d'inscription: 04-03-2007
Messages: 25
Site web

Aranoth :

Pourquoi ne pas éditer directement ta texture en y dessinant l'autre ?


Deux raisons : le renderToTexture se fait via gpu (juste?)
Le renderToTexture me permettra aussi de mettre du texte dans mes textures.

Hors ligne


#5 

07-12-2007 10:11:19

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

A moins que je ne me trompe, modifier les composants d'une texture se fait aussi via le GPU (d'où l'utilisation de lock/unlock... enfin je pense)

Le RenderToTexture n'est pas dispo pour toutes les cartes graphiques...

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
102 invités en ligne
Aucun membre connecté
RSS Feed