Ça fait longtemps que je veux écrire un proggie pour charger facile des textures en . tga. Je suis en train de bosser la-dessus ( jusqu´à maintenant j´ai un . dll qui charge les TGA sans compression RLE). J´admets que je m´inspire en partie de NeHe ( pas entièrement cela dit, j´essais d´utiliser aussi ce que je connais du format à partir du Schéma disponible en ligne... mais, évidemment, c´est toujours tentant de s´approcher énormément d´un code offert gratuitement et qui est plus optimal que le mien
) .
En lisant le tuto #33 à ce sujet, une petite question qui m´est venue à l´espit. Lorsque l´on fait la génération de texture... heum... voici un exemple tiré de NeHe:
glGenTextures(1, &[loop].texID); // Create The Texture ( CHANGE )
glBindTexture(GL_TEXTURE_2D, texture[loop].texID);
glTexImage2D(GL_TEXTURE_2D, 0, 3, texture[loop].width, texture[loop].height, 0, GL_RGB, GL_UNSIGNED_BYTE, texture[loop].imageData);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTE
R,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTE
R,GL_LINEAR);
if ( texture[loop].imageData) / / If Texture Image Exists ( CHANGE )
{
free(texture[loop].imageData); / / Free The Texture Image Memory ( CHANGE )
}
Bon, ça devrait être tès laid une fois dans le forum mais, pour n´importe qui qui connait OGL, l´idée générale devrait être facile à voir. Donc, lorsque l´on utilise la génération de texture, est-ce que OGL fait lui-même l´assignation en VRAM ? Ou est-ce qu´il faut contrôler ça manuellement ?
Je travaille avec OGL depuis très peu de temps, pas essayer de faire grand chose d´autre qu´un framework jusqu´à maintenat, désolé si la question est idiote et si je suis passé à côté d´un paramètre évident du genre bool GO_TO_VRAM;
Je commence vraiement à m´étendre beaucoup dans les API et dans ce que j´essais de fare, je vais devoir choisir définitivement bientôt
.