Tutoriels iOS


précédentsommairesuivant

VII. Tutoriel 5. SkyBox

Ce tutoriel montre comment charger et afficher une skybox en utilisant une texture cube map dans OpenGL. La texture cube map est composée de six textures 2D, chacune représentant une face du cube map. Pour allouer les six textures, nous appelons la fonction glTexImage2D six fois pour chaque face. Le paramètre target de la fonction renseignera le programme sur la face à allouer parmi les six. Par exemple, pour transmettre les données depuis la mémoire centrale à la texture cube map sur l'axe X positif :

 
Sélectionnez
glTexImage2D (GL_TEXTURE_CUBE_MAP_POSITIVE_X,
                          mip_level,
                          internal_format,
                          width,
                          height,
                          border,
                          host_data_format,
                          host_data_type,
                          host_data_xp) 

Où le premier paramètre indique à OpenGL que nous voulons envoyer les données à l'axe X positif du cube map. Les deux derniers paramètres spécifient le type et l'adresse mémoire des données de l'hôte à transférer au GPU.

Le CCacheResourceManager situé dans le framework charge et retourne la texture cube map prête à l'emploi. Notez que les six faces de la texture cube map doivent être nommées ainsi

(Nom de base + underscore + vecteur direction) :

  • skyboxName_xn.jpg (ou png) ;
  • skyboxName_xp.jpg ;
  • skyboxName_yn.jpg ;
  • skyboxName_yp.jpg ;
  • skyboxName_zn.jpg ;
  • skyboxName_zp.jpg.

Pour charger la skybox, donnez seulement le nom de base au gestionnaire de ressources :

 
Sélectionnez
CTextureCubeMap *textureCubeMap = crm.LoadTextureCube("skyboxName.jpg"); 

La fonction LoadTextureCube charge et transfère chaque image à la face correspondante de la texture cube map. La fonction retourne un objet texture cube map qui peut être utilisé et échantillonné par le pixel shader.

Image non disponible

précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2013 Abdallah DIB. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.