2012-11-29 2 views
2

Je souhaite appliquer un filtre à la texture du cube OpenGL. Face à face. Comment puis-je échantillonner une seule face de la carte du cube dans le shader? Je ne peux pas utiliser GL_texture_view_ARB, car je n'ai que Opengl 3.3. Puis-je utiliser sampler2DArray et lier ma carte de cube à l'unité assignée?Exemple de carte d'un cube OpenGL dans un shader

Répondre

1

Je suppose que vous devez créer manuellement 6 faces de la carte de cube et les échantillonner avec différents filtres. Vous devrez peut-être transformer la coordonnée de texture d'un vecteur 3D en un texcoord 2D pour un visage, voici les informations pour le faire: http://www.nvidia.com/object/cube_map_ogl_tutorial.html, s'il vous plaît rechercher "Mappage des coordonnées de texture pour Cube Map Faces" sur cette page web.

+0

Donc vous pensez, que je dois générer un vecteur, qui sera traduit aux coordonnées de texture requises dans un visage spécifique? – runnydead

+0

Je ne suis pas très familier avec OpenGL, donc je ne sais pas s'il existe d'autres méthodes. Mais au moins, je pense que c'est une façon de le faire. – SeaStar

+0

J'ai pensé à cette option, mais je pense que ce n'est pas très efficace ... Eh bien ... Maintenant je sais, que je n'ai pas d'autre option dans OpenGL 3.3 :-). J'apprécie ton aide. Je vais laisser la question ouverte pendant que ... – runnydead