GLES20 : changer de couleur facilement
Bien le bonjour.
Pour changer la couleur d'un objet avec GLES il y a plusieurs solutions.
Par exemple on peut utiliser en changeant la couleur de chaque vertex à l'aide d'une variable et un "attributeur" :
Ex du shader :
Code:
1 2 3 4 5 6
|
"precision mediump float ;" +
"varying vec4 v_Color;" +
"void main(){" +
" gl_FragColor = v_Color ;" +
"}"); |
Code:
1 2 3 4
|
colorBuffer.position(0);
GLES20.glVertexAttribPointer(a_Color, 4, GLES20.GL_FLOAT, false, 0, colorBuffer);
GLES20.glEnableVertexAttribArray(a_Color); |
Ou encore faire un shader spécial :
Code:
1 2 3 4
|
"void main(){" +
" gl_FragColor = vec4(1.0,0.0,0.0,0.75);" +
"}"); |
Mais peut on commander simplement a GLES de dessiner tout ce qui va suivre dans une couleur sans avoir a le faire avec un buffer pour chaque vertex, mais en maîtrisant tout de même la couleur ?
EX :
Code:
1 2 3 4 5 6
|
"precision mediump float ;" +
"varying vec4 v_Color;" +
"void main(){" +
" gl_FragColor = v_Color ;" +
"}"); |
Code:
1 2
|
GLES20.glsetColor(a_Color,1.0,0.0,0.0,0.75); |
J'ai tenté avec des ce que j'ai trouvé mais sans résultat savez vous si cela existe ?
Merci