Comment dessiner des pixels dans la SDL 2.0?
Comment dessiner avec des pixels en SDL2.0?
Je suis en train de me familiariser avec le C++, mais c'est très difficile de le faire sans jolies photos, donc je vais essayer d'obtenir un très graphiques de base affichage de chose en cours d'exécution. Tout ce que je veux vraiment faire est de me donner une fenêtre, permettez-moi d'attirer rgba pixels sur elle, et accéder aux informations sur les pixels. Il y a peut-être d'autres choses, je veux que je ne suis pas au courant, mais c'est tout ce qui est sur ma liste de droite maintenant. Mes recherches sur ceci m'a conduit à essayer d'utiliser la SDL, la version actuelle étant 2.0.
Presque tous mes graphiques que l'expérience vient de l'utilisation de JavaScript sur un <canvas>
. La plupart des autres bits vient de ma calculatrice, qui a cette vraiment génial Pxl-On()
de commande, c'est facile.
Je suis en utilisant MinGW pour mon C++, si c'est important. Aussi, si il y a quelque chose de mieux** que SDL2.0 pour ce dont j'ai besoin, des conseils de bienvenue.
** "mieux" signifie "contient les fonctionnalités dont j'ai besoin, mais moins de fonctionnalités que SDL2.0, et/ou a une plus intuitive/moins complexe*** l'API que SDL2.0."
*** Moins de lignes de code pour accomplir la même tâche.
OriginalL'auteur Jordan | 2013-12-14
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas comment votre code est structuré. En supposant que vous avez un SDL_Window et un SDL_Renderer, vous avez juste à appeler
SDL_RenderDrawPoint(renderer, x, y)
.Si vous n'avez pas de moteur de rendu, ni fenêtre, vous pouvez créer à la fois avec SDL_CreateWindowAndRenderer(). Par exemple:
Cela dessine un pixel sur le milieu de l'écran. Pour lire un pixel est un peu plus compliqué. Vous pouvez utiliser
SDL_RenderReadPixels()
, c'est fait pour lire un domaine, mais vous aways pouvez spécifier une zone de 1x1. Lire la page wiki si vous en avez vraiment besoin.Si vous rencontrez beaucoup de problèmes avec SDL2 un vous recommandons de lire la Paresseux Foo tutoriels. La SDL2 section encore un travail en cours, mais il y a assez de matériel pour commencer à apprendre.
OriginalL'auteur TalesM
Praticable exemple
Dessine une diagonale rouge ligne pixel par pixel sur l'écran à l'aide
SDL_RenderDrawPoint
.Compiler avec:
Testé sur libsdl 2.0.2, Ubuntu 15.10. GitHub en amont.
Si vous souhaitez définir un grand rectangle de pixels à la fois, par exemple, la totalité de l'écran ou un sprite, utilisez
SDL_Texture
+SDL_RenderCopy
et, éventuellement,SDL_TEXTUREACCESS_STREAMING
, qui sera beaucoup plus rapide. Exemples:OriginalL'auteur Ciro Santilli 新疆改造中心 六四事件 法轮功
- Je trouver Python + PySDL2 plus facile de prototype. Le débogage est aussi drôle, parce que c'est veeeery slooow pour des graphiques en pixels. =) Voici le code complet:
OriginalL'auteur anatoly techtonik