Matt DesLauriers

mattdesl.svbtle.com · Personal blog · on HN since 2014

Matt DesLauriers is a creative coder who writes about GPU graphics, generative art, pen plotters, and JavaScript tooling.

What HN saysHN commenters link it as a guide to pen plotting and thick line rendering on the GPU, and ask him about his generative art process.
18HN people shared it
10linked it in comments
28stories submitted
735story points
2 years agolast shared
2014people per year2026

Most-shared posts

  1. 1
  2. 2
    Pen Plotter Art and Algorithms
    4 people · 204 points · first shared 2017 · 25 comments on HN
  3. 3
    Material Design on the GPU: Text Rendering
    2 people · 29 points · first shared 2015 · 10 comments on HN
  4. 4
    Browserify vs. Webpack
    2 people · 22 points · first shared 2014 · 10 comments on HN
  5. 5
    Debugging Node.js with Chrome DevTools
    2 people · 8 points · first shared 2016 · discussion on HN
  6. 6
    Audiograph
    2 people · 3 points · first shared 2016 · discussion on HN
  7. 7
    Making Bellwoods, a Generative Art Game in 13 Kb
    1 people · 125 points · first shared 2018 · 13 comments on HN
  8. 8
    Writing Modular and Versioned GLSL
    1 people · 28 points · first shared 2014 · 4 comments on HN
  9. 9
    Making an interactive web toy in WebGL and WebAudio
    1 people · 7 points · first shared 2018 · discussion on HN
  10. 10
    Shaping Curves with Parametric Functions
    1 people · 6 points · first shared 2017 · discussion on HN
  11. 11
    Show HN: 30 Days, 30 Demos
    1 people · 5 points · first shared 2015 · 2 comments on HN
  12. 12
    Rapid Prototyping in JavaScript
    1 people · 2 points · first shared 2015 · discussion on HN
  13. 13
    Generative Art with Node.js and Canvas
    1 people · 2 points · first shared 2016 · discussion on HN
  14. 14
    JS Workflow: Faster and Cleaner Modules
    1 people · 2 points · first shared 2014 · discussion on HN
  15. 15
    Motion Graphics for the Web
    1 people · 2 points · first shared 2014 · discussion on HN

What HN people wrote when they linked it

lagrange77 · 2024-11-20
Hey, i'm brainstorming for a 3d vector renderer in WebGPU on JS/TS and stumbled on your project [0] yesterday. (Thick) line drawing is especially interesting to me, since it's hard [1]. I also stumbled upon this [2] recently and then wondered if i could use that technique for every shape, by converting it to quadratic bezier curve segments. Do you think that's a path to follow? [0] https://github.com/Lichtso/contrast_renderer [1] https://mattdesl.svbtle.com/drawing-lines-is-hard [2] https://scribe.rip/@evanwallace/easy-scalable-text-rendering-on-the-gp…
mattdesl · 2018-08-28
Thank you! This is all in JavaScript with some open source tools I'm building[1]. I write about my process in a few places: often on Twitter, recently in a TinyLetter, and occasionally more in-depth on my blog[2]. I'd suggest Tim Holman's GenerativeArtistry[3] as a starting point to get back into it. Good luck! Feel free to ping me any time on Twitter or IG if you have any Qs about generative art. [1] - https://github.com/mattdesl/canvas-sketch [2] - https://mattdesl.svbtle.com/ [3] - https://generativeartistry.com/
paulgb · 2018-03-01
Here's a good intro to plotting in a JS environment: https://mattdesl.svbtle.com/pen-plotter-1 And one I wrote for Python: https://bitaesthetics.com/posts/surface-projection.html One of my favorite parts of plotting is the community; there's a bunch of good tutorials and GitHub repos for someone getting started.
greggman · 2017-07-20
Used "correctly" the web with JS is way better than the web without. There's plenty of sites that use JS great from actual apps to articles and tutorials with interactive examples. In fact personally I find myself disappointed when I see an article that would clearly be better with interactive diagrams but the authors are stuck thinking the web it just a transmitted book and not it's own medium but better strengths. A couple of examples where IMO JS makes the page superior to one without https://mattdesl.svbtle.com/drawing-lines-is-hard https://bost.ocks.org/mike/algorithms/ https://pomax.github.io/bezierinfo/
doctorpangloss · 2016-07-31
I don't know if using Xeon Phi for rendering makes that much sense. It's sort of the problem it's least competitive to solve on a raw performance, performance per watt or development cost basis. > However, ‘smaller’ is a relative term as current visualizations can occur on a machine that contains less than a terabyte of RAM. Traditional raster-based rendering would have greatly increased the memory consumption as the convoluted shape of each neuron would require a mesh containing approximately 100,000 triangles per neuron. That sounds like a poor approach to this problem. You could write a shader that renders thick lines for the dendrites, and the rest of the geometry can be conventional meshes. The same shader could have a pass specially designed for lines and depth of field rendering. That's the one unusual shader. It's hard, but not super hard to write. [0] Besides, unless you need this to run in real time (which the Xeon Phi doesn't anyway), you could just raster render and page in the mesh data from wherever. So what if it's slow. I think highly technical platform decisions like Xeon Phi versus NVIDIA CUDA is really about the details. You have to educate the reader both on the differences that matter and why they should choose one over the other. The comment in the article, "no GPU dependencies," is a very PR-esque don't-mention-your-competitor dance around what they're actually trying to say: the CUDA ecosystem can be a pain since you can't buy the MacBook Pro with…
SomeCallMeTim · 2015-03-16
Sigh. I had just about decided on using Browserify in my current projects (instead of Require.JS), and now I have to find out there's ANOTHER option... (Though looking at one comparison [1], I guess I'm sticking with Browserify moving forward.) It does feel like information like this is siloed: Everyone talks about their own favorite solution, and few actually make intelligent comparisons. I didn't know about gulp until after I'd already set up grunt, for instance, and I don't really want to tell the team "now we're using gulp" after having selected grunt only two months ago. I hadn't even heard of Broccoli until just now, either. I obviously need a better JavaScript news feed. That said, I don't feel a need to slam gulp or say grunt is great. But something that the article misses is that the kind of loud, rude argument that it describes is a basic, well-known psychological reaction to insecurity: The less self-confidence you have, the more you feel the need to be loud about your opinions. And I think a lot of JavaScript developers are insecure, based on the evidence. [1] http://mattdesl.svbtle.com/browserify-vs-webpack [2] https://en.wikipedia.org/wiki/Psychological_projection
krebby · 2023-12-05
Yes, they're essentially optimizing for separate things: https://mattdesl.svbtle.com/drawing-lines-is-hard SVG naturally spends a lot of time and resources tessellating paths into triangle strips, which requires mitering and sorting and other not easily parallelizable (read: slow for GPU) algorithms.
ridiculous_fish · 2021-05-23
Awesome project! I'm curious how you draw lines? I found that drawing nice lines is quite painful in WebGL; I ended up using the "Screen-Space Projected Lines" technique here: https://mattdesl.svbtle.com/drawing-lines-is-hard and then using a fragment shader to antialias them.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close