https://sullen.social/c/series_of_tubes ( !series_of_tubes@sullen.social )

  • 8 Posts
  • 9 Comments
Joined 1Y ago
cake
Cake day: Jun 22, 2023

help-circle
rss

I decided to translate the worksheet into GLSL code on shadertoy. It was really cool to see the gradients and sub-coordinate systems represented by the intermediate variables in the calculation. Smoke and mirrors. Maybe you might have some insight into some of the calculations. https://www.shadertoy.com/view/cllBzM



I was thinking of doing three separate GOL simulations, one on each RGB channel, and letting the colors mix that way into like 6 colors. right now, I clamp the pixel brightness values to 0 or 1, so that’s why it’s black/white, or rather black/green.


2nd on the keep notes suggestion. I work on lots of unrelated projects, and each time I end up learning a bunch of new command line utilities, so I try to leave behind a text file describing some of the most useful commands I’d discovered that day. Usually helps me come back to a project and not be back at square one every time.


I've been playing with [shadertoy](www.shadertoy.com) a bit, and here is a lil demo. It's probably not the best way to do it, code suggestions welcome. https://www.shadertoy.com/view/dtlBRM Here's most of the code for reference: ``` void mainImage( out vec4 fragColor, in vec2 fragCoord ) { // fetch neighbor values from last frame, loop back onto screen if off screen mat3 n; n[0][0] = texelFetch(iChannel0, ivec2(mod(vec2(fragCoord) + vec2(-1., -1.), iResolution.xy)), 0).g; n[1][0] = texelFetch(iChannel0, ivec2(mod(vec2(fragCoord) + vec2(0., -1.), iResolution.xy)), 0).g; n[2][0] = texelFetch(iChannel0, ivec2(mod(vec2(fragCoord) + vec2(1., -1.), iResolution.xy)), 0).g; n[0][1] = texelFetch(iChannel0, ivec2(mod(vec2(fragCoord) + vec2(-1., 0.), iResolution.xy)), 0).g; n[1][1] = texelFetch(iChannel0, ivec2(mod(vec2(fragCoord) + vec2(0., 0.), iResolution.xy)), 0).g; n[2][1] = texelFetch(iChannel0, ivec2(mod(vec2(fragCoord) + vec2(1., 0.), iResolution.xy)), 0).g; n[0][2] = texelFetch(iChannel0, ivec2(mod(vec2(fragCoord) + vec2(-1., 1.), iResolution.xy)), 0).g; n[1][2] = texelFetch(iChannel0, ivec2(mod(vec2(fragCoord) + vec2(0., 1.), iResolution.xy)), 0).g; n[2][2] = texelFetch(iChannel0, ivec2(mod(vec2(fragCoord) + vec2(1., 1.), iResolution.xy)), 0).g; // sum of neighbors float sum = n[0][0] + n[1][0] + n[2][0] + n[0][1] + n[2][1] + n[0][2] + n[1][2] + n[2][2]; if(n[1][1] == 0.) { if(sum == 3.) { // if dead and has 3 neighbors, come alive fragColor = vec4(0., 1., 0., 1.); } else { // otherwise stay dead fragColor = vec4(0., 0., 0., 1.); } } else { if(sum == 2. || sum == 3.) { // if alive and has 2 or 3 neighbors, stay alive fragColor = vec4(0., 1., 0., 1.); } else { // otherwise, die fragColor = vec4(0., 0., 0., 1.); } } } ```
fedilink

I thought there was something slightly peculiar about the narration.


A GLSL shader computed painstakingly by hand by almost 2000 people ![](https://lemmy.sdf.org/pictrs/image/5f5c3188-9972-4fd0-b6de-ebbb0f0801dd.png)
fedilink

How Python dictionaries work
Nice article reviewing hash tables and how python dictionaries are implemented with them.
fedilink


Open source way to connect your devices together. I just got it and it seems pretty dope. Anyone used this, or something similar before?
fedilink



looks like https://lemmyverse.net/ is doing a decent job with indexing at the moment. I do honestly feel that indexing should take place on every instance, since each instance has a unique position in the network, and the indexing parameters/ranking algorithms could be under per-instance control rather than an outside third party.



cross-posted from: https://sullen.social/post/102 > Home-shop OLED production! Such an incredible display of technical skill, and a home shop anyone would envy.
fedilink

I really like the idea. There one major issue that I see currently, and that is discoverability. It takes some real effort and time to explore things outside of your own instance. I think the federation of pre-federation content will be important for discoverability, since the foundation of a community is in it’s ranking of posts, which takes time and interaction. Right now, votes, comments, and most posts pre-federation on another instance are just not reachable.

I believe this problem can be solved, and there are a lot of motivated developers here, so I’m all in on lemmy.