openGL: lignes avec shaders
Comment pourrais-je créer une ligne (éventuellement en couleur) avec des shaders? Je suis en utilisant le pipeline programmable et je suis un débutant avec openGL. Je ne peux pas trouver un exemple sur la façon de dessiner des lignes avec des shaders.. je suppose que je dois charger un VAO (les sommets objet array) dans le shader, mais alors quoi? Quelles sont les fonctions dois-je utiliser et comment?
source d'informationauteur Johnny Pauling
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, définir l'utilisation de la shaderprogram. Puis tracer des lignes à l'aide de glDrawArrays (ou Éléments si vos données sont indexées) avec mode=GL_LINES ou l'un des autres modes de dessin.
Voici un exemple de code pour des lignes 2D avec une couleur différente à chaque extrémité. Si l'ombrage en mode lisse, OpenGL va interpoler les couleurs le long de la ligne.
Si vous avez besoin de plus de flexibilité, vous pouvez dessiner des lignes à l'aide de triangles par la création d'un rectangle (4 points) à partir de la ligne des points de terminaison. En 2D, vous pouvez créer les 4 points par traduire les points de terminaison à l'aide de la ligne normale /perpendiculaire (-y,x) par la ligne désirée. En 3D, vous devez vous assurer que les triangles sont alignés à la caméra comme dans billboarding.