Questions marquées «opengl»

Pour les questions concernant l'utilisation de la bibliothèque graphique OpenGL.

45
Comment puis-je déboguer des shaders GLSL?

Lorsque vous écrivez des shaders non triviaux (comme pour tout autre élément de code non trivial), les gens font des erreurs. [la citation nécessaire] Cependant, je ne peux pas simplement le déboguer comme n'importe quel autre code - vous ne pouvez pas attacher simplement gdb ou le débogueur de...

19
Que signifie «st» dans le contexte d'OpenGL?

J'ai vu le terme strevenir plusieurs fois en regardant d'autres shaders de fragments OpenGL. Cependant, je ne sais pas ce qu'il représente ni à quoi il sert. Voici un exemple: uniform vec2 u_resolution; vec2 st = gl_FragCoord.xy/u_resolution; Je peux comprendre que cela convertit les coordonnées...

18
Qu'est-ce que fwidth et comment ça marche?

La documentation OpenGL indique que fwidth returns the sum of the absolute value of derivatives in x and y. Qu'est-ce que cela signifie en termes moins mathématiques et existe-t-il un moyen de le visualiser? Basé sur ma compréhension de la fonction, fwidth(p)a accès à la valeur de ppixels voisins....

15
Comment implémenter un trackball en OpenGL?

Après tant de lecture sur les transformations, il est temps d'implémenter une trackball pour mon application. Je comprends que je dois créer un vecteur de l'origine à l'endroit où la souris est cliquée, puis un autre de l'origine à l'endroit où la souris est relâchée. Ma question est la suivante:...

14
Compatibilité OpenGL, conventions de dénomination et ARB vs EXT

Je pensais avoir acquis une compréhension générale du fonctionnement des conventions de dénomination et des extensions OpenGL, jusqu'à ce que je tombe sur un cas qui m'a dérouté. Voici ma compréhension jusqu'à présent: Pas de suffixe - par exemple glGenBuffers(). Cette fonction fait partie du...

12
OpenGL - Détection des bords

Je voudrais charger des maillages arbitraires et dessiner des lignes noires épaisses le long des bords pour obtenir un aspect semblable à un ombrage. J'ai réussi à dessiner une silhouette noire autour des objets en utilisant le tampon de pochoir. Vous pouvez voir le résultat ici: Mais ce qui...

12
Que fait exactement «makeContextCurrent»?

Je suis assez confus à propos de cette fonction. La référence de contexte GLFW dit comme suit: Cette fonction active le contexte OpenGL ou OpenGL ES de la fenêtre spécifiée sur le thread appelant. Un contexte ne peut être actualisé que sur un seul thread à la fois et chaque thread ne peut avoir...

11
Est-il important que j'apprenne OpenGL ou Direct3D?

Les différences entre ces deux API sont-elles des détails d'implémentation mineurs qui signifient qu'une fois que j'en ai appris une, je peux l'utiliser pour tout? Ou y a-t-il des raisons d'apprendre l'un plutôt que l'autre si je veux pouvoir l'utiliser en général sans avoir à réapprendre une autre...

11
Y a-t-il une raison de préférer Direct3D à OpenGL?

Donc je lisais ceci , j'ai en quelque sorte la raison pour laquelle il y a beaucoup plus de jeux sur Microsoft Windows que sur n'importe quel autre OS. Le principal problème présenté était que Direct3D est préféré à OpenGL. Ce que je ne comprends pas, c'est pourquoi un développeur sacrifierait-il...

11
Performances de boucle dans un shader

Je me demande quelle est la meilleure façon d'intégrer une fonction de boucle dynamique dans un shader? Premièrement, il semble que les tableaux dynamiques ne soient pas possibles. Alors, est-il préférable de créer un tableau de taille maximale et de n'en remplir qu'une partie ou de définir des...