10 ms·
Human Shader
- starmole 3y agoAmazing experiment from the man who brought us shadertoy.
- geon 3y agoA bit too much to ask from a user. It could be split up into easier steps, like adding a pair of 4-digit numbers or multiplying a pair of 1/2 digit numbers.
- jamal-kumar 3y agoI mean yeah but it's rendering Let it cook
- Synaesthesia 3y agoQuite enjoyed this, and it wasn't too much computation, about 10 minutes worth.
- shdon 3y agoI had a lot of fun doing this, and while doing the arithmetic, figuring out what the shader algorithm is actually doing. Such a great idea, turning internet users into the world's slowest and most inaccurate GPU
- vardump 3y agoThat seems like a... lot of work. Shouldn't have claimed a pixel.
- M4v3R 3y agoIt took me 10 minutes to do the whole computation by hand, so I wouldn't say it's a LOT of work. At the same time I believe this is also one the points of this experiment, to show how much work goes into computing a single pixel value for a very simple 3D scene which makes us appreciate more that our GPUs can do this work billions of times per second.
- deleted 3y ago[deleted]
- zellyn 3y agoIt's double the work if you skim the instructions too fast and pick your own empty pixel and compute it, only to find that you need to be assigned one!
- ainiriand 3y agoHow are they planning to get rid of errors?
- eerikkivistik 3y agoI suppose by using a non-human shader and comparing the results :D
- ainiriand 3y agoWell then why is showing so many mistakes? It makes the experience worse.
- totallymike 3y agoI mean if you want to do it perfectly with no chance of error, let a computer do it, or just find the reference image. This is communal mathematics, and the errors are a part of the experience. Saying the mistakes make this worse is like saying "I'd really enjoy spaghetti, I think, but all the noodles are ruining it."
- bmacho 3y agoI suppose they won't use a non-human shader, since it is the whole point.
- LoganDark 3y agoby eliminating the pixels where the proof-of-work is incorrect
- Sharlin 3y agoA stochastic approach would work quite well. Have each pixel computed by n people and take the mode.
- adamrezich 3y agothe final step in the worksheet provides an error correction heuristic and procedure: > Thanks a lot for being part of the Human Shader, go find your pixel in the public canvas! Tip: if its color looks wrong to you, feel free to review your calculations and submit again with the same code!
- FreshStart 3y agoAnd yet another task outsourced to the public, abusing human brains for gfx calculations and hn post as api. Crypto mined the matrix style.
- m00dy 3y agovery interesting exercise,,
- LectronPusher 3y agoThis was fun, I forget sometimes how silly all our grade school math worksheets used to be. I always had trouble showing my work for simple additions and multiplication, it's a bit easier when its a self motivated dunking on the GPUs. It may take 4-5 days and 1000+ people, but it's definitely created a greater sense of community than any faster rendering system. I like looking over the different pixels and knowing that they represent some nerd-sniped engineer like me.
- jabbany 3y agoIt's really interesting seeing the (what I assume are) error pixels.
- cvoss 3y agoThe author should implement an error correction system, where 1) the result is withheld from the display until a second corroborating calculation comes in, and 2) if there is disagreement, request an arbitration from a third user whose job is to pick which of the two is the best answer.
- fdsakljvalkj 3y agoI don't know, if they were aiming for perfection you'd think they'd just use a computer.
- bee_rider 3y agoIt is a bit odd; they specifically ask for the picture of the worksheet, and say they’ll check it. I wonder if the just haven’t gotten around to it yet. Automatic error checking would be nice (IMO just let multiple people do each pixel and take the most popular result).
- kens 3y agoThey ask for the worksheet to check that you're not cheating. They don't check the pixel values. I think much of the charm of the image is seeing the errors. By the way, there's more going on in the shader algorithm than you might expect. Here's an explanation of the worksheet: u, v are coordinates relative to the center of the image h is radius from center, squared Section B generates the ball: B3-8 generates the reflected color on the ball. B9-11 applies the diffuse illumination to the ball. B12 adds the illumination highlight. Section C creates the ground: C5 puts a shadow directly under the ball. C13 is the cast shadow of the ball. Section D creates the sky with a simple gradient Section E converts the image from two-color to three-color
- atleastoptimal 3y agoFun, but it would be interesting if on the worksheet there was an explanation for each calculation
- ygra 3y agoI found it interesting working out what the different sections were on my own. I can't write shaders, but it was enough to roughly judge which parts were ground, sky, and sphere, and where the ground included the shadow. I didn't spot the ambient occlusion or lighting on the sphere, though.
- jovial_cavalier 3y agoI love this. It would be super cool if I could see other people's worksheets, but the image hosting might be a nightmare
- webdevver 3y agoIt feels like a missed opportunity to not show each pixel's worksheet: It would be cool if you could click on each pixel, and it opens a PDF scan of that persons calculations.
- dahart 3y agoSadly you can’t do that on a site without having people post very inappropriate things, so it would require a human moderator, which I speculate makes it unlikely to happen.
- hollowturtle 3y agoIt can be done. To submit a pixel you have to take a photo proof of your calculations on paper, it’s already “moderated”
- quadrature 3y agoInteresting, how come there are obviously incorrect pixels ?.
- deleted 3y ago[deleted]
- simplicio 3y agoThink they're just people making math mistakes (one of the reasons why we don't usually implement shaders by having people compute values by hand). If you compare them to nearby "correct" pixels, they usually just have one of the three RGB values that are sharply different.
- eat_veggies 3y agothe moderators are checking that the pixel was computed by hand, not that it's correct
- 3y ago
- fgeahfeaha 3y agoNext year the worksheet is just the rendering equation and a list of vertices/lights/transforms
- 2023throwawayy 3y ago> Error: All pixels are claimed, please wait!
- jheriko 3y ago[flagged]
- thih9 3y ago73% in 94h at the moment. This is 0,000002157210402 FPS so far.
- endominus 3y agoI'm sure that'll be fixed by release. You know what they say about premature optimization.
- Kuinox 3y agoNow I want to see the results of one done by chatgpt.
- whalesalad 3y agothis is like amish folding@home
- 3cats-in-a-coat 3y agoI see a missed opportunity to remove the math and instead give people a prompt, and one pixel to shade, and then refine with each next pass. Human generative reverse-diffusion AI.
- mft_ 3y agoNot dissimilar to /r/place[0] - which gets messy. [0] https://new.reddit.com/r/place/?screenmode=preview https://new.reddit.com/r/place/?screenmode=preview
- 3cats-in-a-coat 3y agoGenerative AI would also be messy if: 1. You have no prompt. 2. You have 1 iteration. Hence why I suggested prompt and multiple iterations. It's a very subtle tweak, but in aggregate behavior, everything is subtle and has huge effects.
- dclowd9901 3y agoYou need an incentive too. Ai has an incentive to make the thing correctly. Place does not.
- 3cats-in-a-coat 3y agoSure. I mean not sure if AI has an incentive per se. It was selected to have this natural determination :)
- pjs_ 3y agoThey could just use a computer to do this?
- superb_dev 3y agoSure but that’s not the point?
- Verdex 3y agoThey are. Computer was an occupation filled by humans long before it was mechanized.
- Sharlin 3y agoThis is a particularly fun exercise when you recall that the original "computers" were people doing arithmetic, not at all dissimilarly to what’s done here, just with less parallelism. Though they did at least have mechanical adders and multipliers!
- ninju 3y agoas depicted by the cool movie Hidden Figures ".. Based on the unbelievably true life stories of three of these women, known as "human computers", we follow these women as they quickly rose the ranks of NASA..." https://www.imdb.com/title/tt4846340/ https://www.imdb.com/title/tt4846340/
- boondoggle16 3y agoQuote from imdb movie description: > mathematicians that served as the brains behind one of the greatest operations in U.S. history In this case, aren't they more like hands than brains? The brains should be the ones who created the code. These people are just processing it, it's like manual labor.
- phist_mcgee 3y agoAn unkind assessment. They used their brains to perform the calculations, I don't see how you could see it otherwise.
- boondoggle16 3y agoSure they used their brains. But "brains behind the operation" is a term of art. Is the McDonald's cashier the "brains behind the operation" because they count change as part of their duties? Counting change accurately is very important to the continued successful operation of a retail establishment. But it's menial work. Even Wikipedia agrees with me: > Alan Turing described the "human computer" as someone who is "supposed to be following fixed rules; he has no authority to deviate from them in any detail." I think the term "human computer" is extremely misleading without the cultural context behind the term, i.e. that these people were essentially doing 5th grade math worksheets all day. Reading numbers, plugging them into a calculator (yes, really), and writing down the results. Usually we call these mechanical turks?
- barelyauser 3y agoI claimed a pixel and computed it using a calculator.
- cdelsolar 3y agoso someone can just write a script to generate the full image right? since instructions are the same for each pixel. Would make it easier to check your work.. edit: https://imgur.com/a/UO37L1b https://imgur.com/a/UO37L1b
- fgeahfeaha 3y agowoah woah dude, spoilers!
- deely3 3y agoWhy it so low quality? Imgur issue?
- thelastparadise 3y agoWhat a great experiment. Math looked a bit daunting at first (pixel 22,34) glance but it really wasn't bad. Took me about 4 minutes in total to do the math. Highly recommended for anyone who wants a chill afternoon challenge. And the best part is seeing the final image come together.
- chasing 3y agoPretty soon even tasks like this will be done by computers.
- pgporada 3y agoWild, never thought I'd live to see the day.
- ClassyJacket 3y agoYou could get an LLM to attempt this for the slowest shader ever
- rl3 3y agoPerhaps not the slowest ever, but surely the most frustrating.
- echelon 3y agoNext we need Human GPT and Human Diffusion. We'll start with inference, but maybe we'll eventually convince some folks to do a full training exercise.
- thih9 3y agoAren’t we all doing HumanGPT right now, pre-trained to some extent, reading prompts and writing answers?
- Const-me 3y agoHere’s a cool project which could potentially help with these handwritten notes they asking for: https://www.youtube.com/watch?v=cQO2XTP7QDw https://www.youtube.com/watch?v=cQO2XTP7QDw
- agys 3y agoFor the lazy: pick a pixel in the sky to skip to section D (less calculations)…
- ygra 3y agoYou get a random pixel assigned, so you cannot choose.
- causality0 3y agoIf you like this you will enjoy decompressing Pokémon by hand: https://youtu.be/aF1Yw_wu2cM https://youtu.be/aF1Yw_wu2cM https://www.youtube.com/live/OBVwnUH8Eek?feature=share https://www.youtube.com/live/OBVwnUH8Eek?feature=share
- Arch-TK 3y agoPeople were too quick to claim so I wrote a hacky script to try to auto-claim in a loop and then ended up with a PNG in my terminal, beware, save the response to the request if you're going to automate the claiming part. Well I got another pixel anyway.
- neilv 3y ago> Claim a random pixel for yourself [...] yours, and yours only, for the next 8 hours. [...] You can claim up to 4 pixels at a time. Why not 1 at a time, and you can claim another immediately after completing the previous? And if you have 4 pixels awaiting verification, you cannot claim another pixel unless and until one of those pixels is verified?
- LectronPusher 3y agoI assume to stop one dedicated person doing too much of the image. The novelty here is the community aspect.
- GuB-42 3y ago> Created by Inigo Quilez Of course... It you are into shaders and don't know that guy, well you are one of the "lucky 10000" and you should check him out. ( https://iquilezles.org/ https://iquilezles.org/ )
- kowsheek 3y agoI work with him every day and pinch myself
- yayitswei 3y agoGiven the occasional hallucinations, best to have a computer in the loop for validation.
- voxelghost 3y agoIt would be interesting to see a computation energy analysis. Joules/frame for human vs gpu shader kinda thing.
- samweb3 3y agoSo this is just a way to get tons of handwriting samples and computation data right?
- justusthane 3y agoNot everything is a conspiracy. And what is “computation data”?
- bobsmooth 3y agoMy pixel took an embarrassing 30 minutes but I did it all by hand!
- lubujackson 3y agoNow if only I could sell an ad on each pixel, then we'd really have something.
- zarzavat 3y agoBlast from the past: https://en.wikipedia.org/wiki/The_Million_Dollar_Homepage https://en.wikipedia.org/wiki/The_Million_Dollar_Homepage
- sgarland 3y agoThis was as much fun as it looked like. I got some nice paper, a nice pen, and made neat boxes for steps, rough columns, etc. I also converted the final RGB to hex for fun, and made a rough representation of it via colored pencil combinations. Total time was about an hour, I think, but the time wasn’t important to me. This was enjoyable.
- justusthane 3y agoIt’s funny that “This was as much fun as it looked like,” could be interpreted accurately in either direction, depending on your personal predilections.
- sgarland 3y agoAmbiguity makes for interesting thoughts.
- willis936 3y agoI used to think this way but I have become frustrated at my inability to intentionally convey interesting thoughts. I now strive to minimize ambiguity.
- sgarland 3y agoYeah, this was a tad flippant. At work, I’ve often had something I write be received in a wholly different manner than I intended. My coping strategy for now is to preface anything that I think might be viewed differently with a “this does not mean…” warning. But of course, if I knew all of the sentences that might be received differently, I wouldn’t be in this situation to begin with.
- thih9 3y agoIn other words, relative point of view.
- lausbub 3y agoSo you converted the RGB to CMYK to get a subtractive color space for colored pencils?
- justusthane 3y agoI don’t know anything about shaders, so forgive the question. My understanding from looking at the worksheet is the person who created the target image has created three separate formulas (depending on the area of the image), that when you feed in the X and the Y coordinates, it spits out the correct RGB value for that pixel. Is that correct? That’s wild.
- luaKmua 3y agoAt their heart, that's what pixel/fragment shaders are. They're calculations for determining what color a pixel should be. A really basic one returning red for every pixel would make a red screen. The most common use would be rendering a textured mesh and determining how lighting should effect it (is it skin? A metal surface?). Then you can look at crazy things like https://www.shadertoy.com/ https://www.shadertoy.com/ which are all purely made in pixel shaders (also that site is run by the creator of the Human Shader)
- balloonthief 3y agoHmmm, this looks kinda familiar.... https://www.shadertoy.com/view/ddjBRK https://www.shadertoy.com/view/ddjBRK
- Tehdasi 3y agoBasically, yes. A shader is basically a function which passes in the x,y coords and spits out a color, and this is done for every pixel on the screen. So a simple shader would be something like (in pseudo code): function shader( x, y ) { if( x > 0.5 ) return white; else return black; } would color one half of the screen black, and the other white.
- WediBlino 3y agoPost Butlerian Mentat GPU v0.1
- Xen9 3y agoNext time something like this gets done, add a box about estimated time to compute and amount of people computing to the submission form, so that data will more closely describe the amount of work hours used. Heuristically we can still get an estimate: Group names to individuals and groups. Guess average group size. Take difference between claim and submission for time it took to compute.
- agumonkey 3y agoI always wanted to see this principled, computer aided work, but for social / real world needs. A lot of friction and pain in our lives comes from the difficulty of regrouping and organizing.. when you have a framework in place to accrete everybody little efforts into a big coherent whole .. I would guess it makes everything fun and fulfilling.
- stevengoodwin 3y agoNow that it's almost complete, I feel happy in releasing the solve and renderer code that many might consider a cheat. https://github.com/MarquisdeGeek/HumanShader https://github.com/MarquisdeGeek/HumanShader
- Netcob 3y agoReminds me of the good old days when you didn't need an expensive GPU to play the latest path-traced games, just a pencil, some paper, and a few friends.
- deely3 3y ago*few hundreds friends