Tant que vous vous rendez compte que cela va prendre beaucoup de temps ...:
pyglet.graphics.draw
can dessiné un ou plusieurs points lorsque vous le transmettre pyglet.gl.GL_POINTS
, et vous pouvez passer des attributs tels que la couleur aussi bien comme coordonnées. Par exemple:
for i in range(50):
for j in range(50):
color = int(2.56 * (i + j))
pyglet.graphics.draw(1, pyglet.gl.GL_POINTS,
('v2i', (i, j)),
('c3B', (color, color, color))
)
tire 50 de 50 carrés avec un gradient diagonale du noir au blanc-ish. Ne vous attendez pas à ce que ce soit particulièrement rapide ;-) - GL est vraiment orienté vers les graphismes avec un niveau d'abstraction beaucoup plus élevé, pas une peinture "pixel par pixel".
Vous pourriez obtenir un minimum de vitesse supplémentaire en calculant (disons) une rangée à la fois, et en dessinant cela, au lieu de dessiner des pixels séparément. Mais ce ne sera pas encore super-rapide! -)
Avez-vous besoin d'utiliser pyglet? pygame rendrait cela beaucoup plus facile –
@gnibbler: Oui, mon code a été écrit à l'origine en pygame et cela a fonctionné (au moins chez moi). Mais j'avais besoin de le lancer à mon université et je ne pouvais pas faire virtualenv pour soutenir pygame ... Alors je suis allé pour pyglet –