bufferData - utilisation du paramètre différences
Lors de la lecture de la spécification à Khronos, j'ai trouvé:
bufferData(ulong target, Object data, ulong usage)
'usage' paramètre peut être: STREAM_DRAW, STATIC_DRAW ou DYNAMIC_DRAW
Ma question est, dois-je utiliser?
Quels sont les avantages, quels sont les différences?
Pourquoi devrais-je choisir un autre à la place STATIC_DRAW?
Grâce.
OriginalL'auteur Abstract Algorithm | 2013-05-09
Vous devez vous connecter pour publier un commentaire.
Pour "bureau" OpenGL, il y a une bonne explication ici:
http://www.opengl.org/wiki/Buffer_Object
Fondamentalement, l'utilisation du paramètre est un indice à OpenGL/WebGL sur la façon dont vous l'intention d'utiliser la mémoire tampon. L'OpenGL/WebGL peut alors optimiser la mémoire tampon en fonction de votre indice.
La OpenGL ES docs écrit ce qui suit, qui n'est pas exactement la même que pour l'OpenGL (rappelez-vous que WebGL est héritée de OpenGL ES):
FLUX
STATIQUE
DYNAMIQUE
La nature de l'accès doit être:
TIRAGE
L'utilisation la plus courante est STATIC_DRAW (pour la géométrie statique), mais j'ai récemment créé un petit système de particules où DYNAMIC_DRAW a plus de sens (les particules sont stockées dans une mémoire tampon, où des parties de la mémoire tampon est mis à jour lorsque les particules sont émises).
http://jsfiddle.net/mortennobel/YHMQZ/
Extrait de Code:
Après avoir créé le tampon et le remplis avec des valeurs initiales à l'aide de gl.bufferData, vous pouvez mettre à jour la mémoire tampon (ou une partie) dans un autre cadre à l'aide de la gl.bufferSubData fonction. Essayez de prendre un coup d'oeil au code source du violon, il devrait être assez facile de voir ce qui se passe.
Juste un heads-up à ceux qui cherchent à cette réponse, si vous regardez le lien vers la documentation, vous verrez que les flux de tirage au sort est fait, si vous les modifier et les utiliser fréquemment. Non pas que vous ne modifier qu'une seule fois.
notez que le premier lien est de l'OpenGL explication, pas d'OpenGL ES (WebGL). Ils semblent différer
Tomoiaga j'étais en fait en fait référence à la deuxième lien, mais comme vous le dites, gl et gles semblent avoir leur peu de différences chaque ici et là.
OriginalL'auteur Mortennobel