{"action":"created","issue":{"url":"https://api.github.com/repos/pygame/pygame/issues/90","repository_url":"https://api.github.com/repos/pygame/pygame","labels_url":"https://api.github.com/repos/pygame/pygame/issues/90/labels{/name}","comments_url":"https://api.github.com/repos/pygame/pygame/issues/90/comments","events_url":"https://api.github.com/repos/pygame/pygame/issues/90/events","html_url":"https://github.com/pygame/pygame/issues/90","id":217064682,"node_id":"MDU6SXNzdWUyMTcwNjQ2ODI=","number":90,"title":"No function for filled + antialiased polygons.","user":{"login":"illume","id":9541,"node_id":"MDQ6VXNlcjk1NDE=","avatar_url":"https://avatars3.githubusercontent.com/u/9541?v=4","gravatar_id":"","url":"https://api.github.com/users/illume","html_url":"https://github.com/illume","followers_url":"https://api.github.com/users/illume/followers","following_url":"https://api.github.com/users/illume/following{/other_user}","gists_url":"https://api.github.com/users/illume/gists{/gist_id}","starred_url":"https://api.github.com/users/illume/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illume/subscriptions","organizations_url":"https://api.github.com/users/illume/orgs","repos_url":"https://api.github.com/users/illume/repos","events_url":"https://api.github.com/users/illume/events{/privacy}","received_events_url":"https://api.github.com/users/illume/received_events","type":"User","site_admin":false},"labels":[{"id":569613566,"node_id":"MDU6TGFiZWw1Njk2MTM1NjY=","url":"https://api.github.com/repos/pygame/pygame/labels/1.9.2","name":"1.9.2","color":"ededed","default":false},{"id":569615052,"node_id":"MDU6TGFiZWw1Njk2MTUwNTI=","url":"https://api.github.com/repos/pygame/pygame/labels/draw","name":"draw","color":"ededed","default":false},{"id":569600897,"node_id":"MDU6TGFiZWw1Njk2MDA4OTc=","url":"https://api.github.com/repos/pygame/pygame/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":569613507,"node_id":"MDU6TGFiZWw1Njk2MTM1MDc=","url":"https://api.github.com/repos/pygame/pygame/labels/major","name":"major","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2011-09-27T23:55:39Z","updated_at":"2018-11-26T13:07:10Z","closed_at":null,"author_association":"MEMBER","body":"Originally reported by: **Anonymous**\n\n----------------------------------------\n\nIt would be very useful to have a function that fills and anti-aliases shapes, because calling fill + AAline just doesn't look right.\n\n----------------------------------------\n- Bitbucket: https://bitbucket.org/pygame/pygame/issue/90\n"},"comment":{"url":"https://api.github.com/repos/pygame/pygame/issues/comments/441632449","html_url":"https://github.com/pygame/pygame/issues/90#issuecomment-441632449","issue_url":"https://api.github.com/repos/pygame/pygame/issues/90","id":441632449,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MTYzMjQ0OQ==","user":{"login":"illume","id":9541,"node_id":"MDQ6VXNlcjk1NDE=","avatar_url":"https://avatars3.githubusercontent.com/u/9541?v=4","gravatar_id":"","url":"https://api.github.com/users/illume","html_url":"https://github.com/illume","followers_url":"https://api.github.com/users/illume/followers","following_url":"https://api.github.com/users/illume/following{/other_user}","gists_url":"https://api.github.com/users/illume/gists{/gist_id}","starred_url":"https://api.github.com/users/illume/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illume/subscriptions","organizations_url":"https://api.github.com/users/illume/orgs","repos_url":"https://api.github.com/users/illume/repos","events_url":"https://api.github.com/users/illume/events{/privacy}","received_events_url":"https://api.github.com/users/illume/received_events","type":"User","site_admin":false},"created_at":"2018-11-26T13:07:10Z","updated_at":"2018-11-26T13:07:10Z","author_association":"MEMBER","body":"I would suggest a good way forward is:\r\n\r\n- fixing things in pygame.draw.\r\n- by writing python implementations.\r\n- ... with good tests, demos, and documentation.\r\n- using float coordinates if possible (but an int only implementation is just as good).\r\n\r\nNote that int implementations are faster on hardware which don't support float in hardware. But these platforms are becoming quite rare, even in the embedded space. But they still exist.\r\n\r\nLater, we could consider adding more advanced/fun drawing functions. With the aim to implement them in python only. Like things from here and elsewhere (Beziers, Textured triangles): https://geometrian.com/programming/projects/index.php?project=Pygame%20Advanced%20Graphics%20Library by @imallett \r\n\r\nI think having a collection of well documented drawing routines written in python would be amazing. In the future they could run pretty fast on pypy jit(and numba jit), and compiled with Cython. Further work could be to translate the functionality into a shader language like GLSL(bgfx).\r\n\r\nThe python implementations:\r\n\r\n- have great value as an educational resource.\r\n- are good for \"cross check\" testing other implementations.\r\n- run fast on pypy and other JITs that work on python (like numba)\r\n- good for translating into shader languages like GLSL (or bgfx which can translate into metal/vulkan/direct3d/different opengl versions).\r\n- can be sped up with Cython by adding types, and multiprocessing hints.\r\n- can be hacked more easily to do weird and interesting things (a line drawing routine used for collision detection?? How about a textured line drawer).\r\n"}}
{"actor":{"display_login":"illume"}}