Il est possible de récupérer les données bitmap HTML Canvas 2D, est-il également possible d'accéder au contenu rendu d'un élément Canvas 3D/WebGL en tant que données bitmap?Comment extraire les données bitmap WebGL?
Répondre
La signature des readPixels de WebGL a été modifiée dans un brouillon ultérieur.
au lieu de retourner un nouveau tableau avec les données de pixel à chaque fois, vous passez un tableau à remplir comme dernier argument:
readPixels void (Brill x, Brill y, largeur GLsizei, hauteur GLsizei format GLenum, le type GLenum , ArrayBufferView pixels)
Cela permet de réutiliser le même tableau pour plusieurs opérations readPixels.
du projet de travail du WebGL Specification:
ArrayBufferView readPixels(GLint x, GLint y,
GLsizei width, GLsizei height, GLenum format, GLenum type)
Retour un ArrayBufferView avec des pixels dans le rectangle passé. Les données renvoyées par readPixels doivent être mises à jour à la dernière commande de dessin envoyée . Toutes les commandes de dessin non traitées doivent être complétées et leurs résultats présentés aux tampons de dessin actuels avant que readPixels accède au tampon de dessin. La sous-classe spécifique de ArrayBufferView renvoyé dépend de le type passé. Si c'est UNSIGNED_BYTE, un Uint8Array est renvoyé , sinon un Uint16Array est renvoyé .
Pas aussi direct que l'utilisation de readPixels, mais cela pourrait également fonctionner. Vous pouvez également rendre la toile à un élément d'image, comme ceci:
var img = document.getElementById("game-canvas").toDataURL("image/jpeg");
$("#shots").append("<img src=\"" + img + "\" width=\"320\" height=\"480\"/>");
Vous devez obtenir votre contexte WebGL avec l'option spéciale preserveDrawingContext pour que cela fonctionne bien:
var gl = canvas.getContext("experimental-webgl", {preserveDrawingBuffer: true});
A partir de là, Si vous voulez manipuler l'image facilement, vous pouvez le faire dans un canvas 2d et lire les pixels si vous le souhaitez.
Je l'utilise régulièrement pour prendre des "captures d'écran" des choses avec lesquelles je joue.
- 1. Comment installer WebGL dans Windows
- 2. WebGL transparent noir
- 3. Client webGL/Javascript autonome?
- 4. données bitmap JSON
- 5. Comment extraire correctement les données avec les expressions régulières
- 6. Comment extraire ces données XML?
- 7. Cool applications pour WebGL?
- 8. Extraire le fichier $ bitmap à partir de l'image NTFS
- 9. à extraire les données du fichier texte
- 10. nhibernate extraire les données d'en-tête seul
- 11. WebGl Uniformes valeur de retour
- 12. Portage de JME vers WebGL
- 13. Comment extraire les données H263/H264 d'un fichier pcap.
- 14. Comment extraire les données que je veux dans NSString?
- 15. comment extraire les données du dictionnaire imbriqué dans C#
- 16. Comment extraire des données d'un fichier XML
- 17. données bitmap comme film Clip
- 18. Comment extraire des données d'un PDF?
- 19. Comment extraire des données spécifiques avec preg_match?
- 20. comment extraire le format JSON de données
- 21. Comment extraire des données d'un DataTable?
- 22. Comment extraire des données de l'URL
- 23. comment extraire des données de la base de données?
- 24. Extraire des données d'un tableau
- 25. Où sont passées toutes les fonctions simples de WebGL?
- 26. Extraire des données entre les chaînes ou les balises
- 27. Comment puis-je extraire des objets à partir d'une image bitmap?
- 28. Comment puis-je extraire la palette à partir d'une image bitmap 5-6-5?
- 29. Comment extraire les informations de JSON
- 30. Comment configurer un bitmap avec des données non gérées?
Cela semble être un bon changement. – Liam