Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upAbstract shapes & render performance #163
Comments
rehno-lindeque
changed the title from
Abstract shapes & performance primitives drawing performance
to
Abstract shapes & render performance
Feb 6, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
shmookey
Jul 25, 2015
Renderer abstraction would be super handy. I'd really like to be able to write a function toSVG : Form -> SVG, so it would be great if BasicForm(..) and ShapeStyle(..) were exposed.
shmookey
commented
Jul 25, 2015
|
Renderer abstraction would be super handy. I'd really like to be able to write a function |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
evancz
May 11, 2016
Member
Sorry this did not get attention til now! The Graphics.* modules now live in evancz/elm-graphics so I am trying to get stuff migrated over there.
Not sure what action to take here, but I expect to be focusing on <canvas> for professional users and "friendly graphics" for learning as separate use cases. Progress will be made when those start happening.
|
Sorry this did not get attention til now! The Not sure what action to take here, but I expect to be focusing on |
rehno-lindeque commentedFeb 6, 2015
The recent discussion on #118 by @jazmit got me thinking...
Shapecurrently means "polygon" in Elm (a list of points). I would like to propose that it would make sense to move towards an abstract representation to shapes that makes a distinction betweenBasicForm,ShapeandPolygon.The invariant that qualifies something to be a
Shapewould be the function......so that something like
Textis excluded.There are a couple of nice attractions:
Circleto SVG: it will be much cleaner if the algebraic representation is preserved. One could even render shapes relatively cleanly toHtmlusing stylesheets. There's also a chance render quality could be improved - for example, it might make sense for a renderer to implement specialized anti-aliasing for curves and circles.arcuses an adaptive tessellation that could take any number of interesting things into account to improve quality and performance. Another example would be a WebGL renderer, rendering circles and curves with shaders.Much of the above probably requires
Shapeconstructors to be exposed, which I think might be a tad premature. Never-the-less, performance might be something worth looking into sooner. Myself and @TheunisKotze are about to do some testing to see what effect this has on us - we draw a helluvalot of circles. I'll report back!