2010-11-18 7 views
0

Est-ce facile à faire? Je ne veux pas utiliser d'images de texture. Je veux créer un rectangle, probablement de deux polygones, puis définir une couleur sur ce point. Un ami qui prétend connaître OpenGL a dit un peu que je dois toujours utiliser des triangles pour tout et que je dois utiliser des textures pour tout quand je le veux coloré. Je ne peux pas imaginer que c'est vrai.Comment dessiner un rectangle de couleur dans OpenGL ES?

Répondre

4

Vous pouvez définir des couleurs par sommet (qui peuvent toutes être identiques) et dessiner des quadruples. La partie délicate d'OpenGL ES est le fait qu'ils ne supportent pas le mode immédiat, vous avez donc une courbe d'apprentissage initiale beaucoup plus abrupte par rapport à OpenGL.

Cette question porte sur les différences entre OpenGL et ES:

OpenGL vs OpenGL ES 2.0 - Can an OpenGL Application Be Easily Ported?

+0

Merci, Ben. Que se passe-t-il lorsque je mets des couleurs de vertex différentes pour un quad? Cela produirait-il un gradient? Et pas de mode immédiat signifie que ce n'est pas rapide? –

+0

Le mode actuellement immédiat est * lent *, il est facile de commencer. Avec le pipeline à fonction fixe, la définition de différentes couleurs de sommet produira un gradient. –

+0

Ça sonne bien. Connaissez-vous un exemple de code qui montre à quoi cela ressemble? –

1

Avec OpenGL ES 2.0, vous ne devez utiliser un shader qui (entre autres) définit normalement la couleur. Tant que vous voulez une couleur solide pour l'ensemble, vous pouvez le faire dans le vertex shader.

+0

Le vertex shader affectera toute la géométrie de la scène? Ou puis-je appliquer une couleur pour ce rectangle uniquement dans le vertex shader? –

+0

Devrait dire "Avec OpenGL ES 2.0 ..." –

+0

@BugAlert: la meilleure façon de le gérer est probablement de passer d'un shader à un autre si nécessaire. @Ben: oups, tout à fait raison. –

Questions connexes