Dopóki zrealizować to zajmie długi czas ...:
pyglet.graphics.draw
CAN wyciągnąć jeden lub więcej punktów, kiedy przechodzą go pyglet.gl.GL_POINTS
, można przekazać atrybuty, takie jak kolor, jak również jako współrzędne. Na przykład:
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))
)
rysuje 50 na 50 kwadratów o przekątnej gradientu od czerni do bieli. Tylko nie oczekuj, że będzie to szczególnie szybkie ;-) - GL jest naprawdę zorientowany na grafikę o znacznie wyższym poziomie abstrakcji, a nie na "piksel po pikselu".
Można uzyskać odrobinę dodatkowej prędkości, obliczając (powiedzmy) wiersz na raz i rysując to, zamiast w rzeczywistości pojedynczo rysować piksele. Ale nadal nie będzie superszybki! -)
Czy potrzebujesz używać pyglet? pygame uczyniłoby to znacznie łatwiejszym –
@gnibbler: Tak, mój kod był pierwotnie napisany w pygame i działał (przynajmniej w domu). Ale musiałem uruchomić go na moim uniwersytecie i nie mogłem zrobić virtualenv, aby obsługiwać pygame ... Więc poszedłem do pyglet –