J'ai besoin de définir la couleur par type d'octet ou nombre entier, et non par valeurs flottantes. Comment puis-je affecter ce type dans gl_FragColor
? En divisant la valeur par 256 ne me donne pas la précision voulue. Mon but principal est de connaître la valeur spécifique de chaque bit dans le tampon de couleur, si je dessine la ligne seulement avec la couleur spécifique. par exemple je veux que dans le tampon de couleur à la valeur rouge du pixel seulement 2 lsbits seront sur, quelle valeur de couleur devrais-je transférer à gl_FragColor
? Si j'avais une option pour écrire des valeurs de type octet, j'écrirais la valeur 3 au composant rouge MerciAffectation de valeurs entières à la couleur dans les fenêtres ouvertes 2.0
Répondre
Autant que je sache, gl_FragColor doit toujours être en virgule flottante. Cependant, si vous savez que le tampon de couleur est de 8 bits par canal, il ne devrait pas être difficile de forcer ce que vous voulez. Vous pourriez envisager
gl_FragColor = vec4(floor(number)/255.0, 0, 0, 0);
par exemple. Les versions les plus récentes de GLSL supportent les opérations au niveau du bit, mais je doute que GLES2 le fasse.
Si vous voulez attirer des bits spécifiques, peut-être ...
glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE);
...
gl_FragColor = vec4(pow(2.0, bitIndex)/255.0, 0, 0, 0);
Je n'ai pas testé, mais ne vois aucune raison pourquoi il ne pouvait pas travailler en supposant que la géométrie ne se chevauche jamais (auquel cas le bit déborderait dans le suivant).
Merci, je vais le vérifier – user893269
- 1. fenêtres non ouvertes dans codeigniter
- 2. XPath 2.0: Implémentations ouvertes
- 3. Qt - Obtenir toutes les fenêtres ouvertes Titre
- 4. Inverser les valeurs entières
- 5. Minimisation toutes les fenêtres ouvertes en C#
- 6. Récupérer toutes les fenêtres ouvertes sous Windows
- 7. Récupère la liste des fenêtres ouvertes C#
- 8. Comment gérer plusieurs fenêtres ouvertes
- 9. Comment détecter la zone de contact dans les fenêtres ouvertes dans Android?
- 10. Liste des fenêtres QtiPlot ouvertes
- 11. Détermination de l'ordre des fenêtres ouvertes
- 12. Valeurs entières dans leveldb
- 13. glReadPixels pour des fenêtres entières (OpenGL)
- 14. Récupérer les PID de toutes les fenêtres ouvertes sur MacOS
- 15. Cocoa obtenir le nombre de fenêtres ouvertes
- 16. Trouver toutes les fenêtres ouvertes pour un processus dans GTK
- 17. Fermez toutes les fenêtres de dialogue modales ouvertes
- 18. Compte le nombre de fenêtres ouvertes
- 19. Affectation de la valeur hexadécimale à la couleur dans XAML
- 20. Affectation automatique de valeurs uniques à #defines
- 21. Comment obtenir la liste des fenêtres ouvertes dans Qt
- 22. Comment fermer toutes les fenêtres ouvertes de mon programme C#?
- 23. Java - Définir les valeurs entières à la taille d'image maximale
- 24. Affectation de valeurs dynamiques dans les annotations
- 25. tri des représentations entières de couleur - android
- 26. Conserver plusieurs fenêtres de console ouvertes à partir du lot
- 27. Comment obtenir la liste des fenêtres ouvertes de xserver
- 28. À quoi correspondent les valeurs entières de TypedArray.getType (int index)?
- 29. Comment tracer les fenêtres enfant ouvertes en javascript
- 30. story-board invoqué vient derrière toutes les fenêtres ouvertes
Si vous utilisez glVertexAttribPointer pour envoyer vos données, définissez le paramètre * normalisé * sur true et fournissez vos données sous int. – Kimi