Je me demandais pourquoi le brouillard que j'utilise en opengl es sur mon téléphone android n'est pas transparent lorsque je mets les couleurs alpha à 0. J'ai mis l'arrière-plan à transparent et ça fonctionne bien et la couleur La classe ou la méthode toFloatBuffer() fonctionnent bien pour mes maillages mais quand je mets la couleur fog à la transparence alors ce fait est ignoré. voici le code de base que je l'utilise pour le brouillard dans la méthode onSurfaceCreated()
de mon renderer:opengl es brouillard transparent dans android
gl.glFogf(GL10.GL_FOG_MODE, GL10.GL_LINEAR);
gl.glFogf(GL10.GL_FOG_START, 4.0f);
gl.glFogf(GL10.GL_FOG_END, 10.0f);
gl.glFogfv(GL10.GL_FOG_COLOR, new Color(0,0,0,0).toFloatBuffer());
gl.glEnable(GL10.GL_FOG);
ok merci, y at-il un moyen d'utiliser cet effet de brouillard en plus sur le canal alpha? Je pourrais le faire moi-même en calculant la distance des objets à la caméra mais j'espérais qu'il serait possible d'utiliser l'effet de brouillard pour cela. –
Pas vraiment, c'est juste comme ça que le comportement est défini dans OpenGL ES 1.1. Essayez-vous de filtrer le contenu arbitraire sur un arrière-plan arbitraire, ou l'ensemble de cas que vous devez gérer est-il plus limité? – Pivot
le premier, im essayant de disparaître le contenu et le brouillard serait exactement ce dont j'ai besoin: / –