greg (@greg_ash) header
greg (@greg_ash) profile picture

computer graphics, sometimes music. writing code @nianticlabs and https://nitter.cf/t.co/fdyk8D7rug

London
Joined July 2015
I added a keyboard input to trane! You can play around here: lisp.trane.studio/?t=tracks/…
115
hippopotamoose
1
2
7
353
i've released a new beta version of bauble. there's still a lot to do, but it's Mostly Usable now! i'm especially excited about the new interactive documentation page: bauble.studio/help/
1
4
22
2,048
Anyone else just permutating the order of transformation matrices, and randomly wrapping them in inverse() and transpose() until they eventually work? Or do people actually get this right the first time?
3
2
23
2,171
Spent this even adding a drum kit visualisation and a ladder filter. Some acidy electro fun!
75
Some silly procedural jungle fun in Trane this evening. Trying out some Memphis rap over the top after I heard this record. soundcloud.com/therealmilita… Rubbish live mixing, sorry.
8
269
Wrote a bytebeat synthesizer in pure OCaml 💪😤
8
10
91
6,711
I released a new version of trane earlier this week. There's now looping and line_in modules, as well as routing to audio parameters, and better macros for procedural graph generation. There's a new example here too lisp.trane.studio/?t=tracks/…
97
Coded up the chords to gypsy woman on Friday. Quite badly mixed via a midi controller. You can map a midi cc to a knob with a right click.
2
4
565
I couldn't sleep the other night so I added some oscilloscope things to my lispy music thing. Very fun
2
144
Been working on an interactive guide for my lispy music website: lisp.trane.studio/?tutor
2
124
i saw this first thing this morning now you have to
14
267
16
1,363
59,544
Parameters (sound on). Sound, lines, and dots seeking a relationship. Experiment with additive synthesis affected by various parameters also mapped to visual representation. Sound and visual written in GLSL. Some reverb added. #generativeart #generativeart
14
60
4
331
20,298
“No computer scientist, as far as I know, has ever actually come up with ‘being fun’ as a criterion for what to do with a computer or how to do it. And yet, It’s pretty clear that if something isn’t fun to do it’s not going to happen.” - Miller Puckette youtube.com/watch?v=ZLACjtOp…
3
25
3
157
13,430
Were you ever frustrated with jagged edges in AR?! 💔 No more! ✨ 📢 Introducing our #CVPR2023 paper (and code!): Virtual Occlusions Through Implicit Depth❤️🎉 nianticlabs.github.io/implic… arxiv.org/abs/2305.07014 [1/10]
7
64
13
291
55,649
🧵1/ We’re very excited about SimpleRecon! It brings together state-of-the-art depth accuracy and competitive 3D scene reconstruction which makes it perfect for resource-constrained environments! We used @rerun to dig into its inner workings. #computervision #AI #ML
14
171
10
924
138,134
<graphics geek warning> Watching the space scenes in the Martian on an OLED TV should be an ideal viewing experience with the true black backgrounds, but in every shot that panned, I couldn’t stop fixating on the incorrect twinkling of all the stars. This is almost always caused by something linearly interpolating pixels that are in a gamma encoded color space. The 0-255 pixel values that you find everywhere aren’t linear — 64 is not twice the photons of 32. It is close enough that you usually won’t notice, but high contrast star fields and line drawings are the worst case. en.wikipedia.org/wiki/Gamma_… There are so many places this can go wrong. I assume the movie master is rendered correctly, but any resampling to a different resolution will probably do it wrong. I was watching in 4K, but 3840x2160 is not the native theatrical resolution. There is an @FFmpeg option to do gamma correct resizing, but it isn’t the default because it is quite a bit slower. Lossy compression can also mess up the subtle fractional pixel values, but star fields should not be challenging to compress. A fixed bit rate should be nearly lossless in “easy” scenes like that, but an adaptive one can drop it to a trickle and make the errors perceptible. A 4K video decoded to a 4K buffer sent to a 4K TV should not involve any resampling, but it is easy for a half pixel offset to slip in somewhere, and GPUs don’t offer a gamma correct YUV textures sampling mode. If you need resampling (as in a VR screen) the best practice is to copy the YUV video to an sRGB texture, then draw that. Any color space transform for the various “vivid” / “cinematic” / whatever modes that gets done in the media device or TV also have to be done in linear space to avoid issues. I tend to rail against these abuses of the pixels, but if you must do it, at least do it right. The same with any motion interpolation or other features on the TV. At the very end, the display panel must actually accurately reproduce the gamma curve everything else in the pipeline expected. There are legitimate subtleties here, like 2.2 vs sRGB, but sometimes things are deliberately distorted to “punch up” unknowing content. So many problems vanish if you just work in 12+ bit linear space, but so far, it has generally been better on net to spend memory/GPU/display bandwidth on higher resolution or frame rates. It is creeping in, but it will be many years yet before end to end linear is common.
90
139
48
2,310
618,704
greg retweeted
0b5vr GLSL Techno Live Set 7 minutes of GLSL techno journey with a VJ graphics. in a 64KB WebGL Intro. Appeared in the Revision 2023 PC 64K Intro Compo. youtu.be/3lOptjAeA2w
15
188
19
810
107,000
WIP grass.
20
363
13
2,782
147,105