I've been looking for a shader guide that ramps up in complexity just like this. The interactiveness is just the cherry on top! Can't wait to see the rest.
Just a suggestion, if it's going to do that it should explain why. I'm not hitting yes to that without a good reason.
If it's using it as source data for the pixel shaders... I get you're trying to go for a wow factor, but from experience I think a lot of people are creeped out when their likeness is used for something they don't have direct control over.
This is super useful, and I hope to see many many more examples of this kind of approach to teaching programming and math concepts, especially in graphics where real time visual feedback is so important. As he says, there is a lot of material for the already advanced out there, but not much that fills the gap for people already used to coding but that lack the experience for digesting dense packets of information relevant to the topic. I hope he can finish this. Does anyone know of other interactive learning projects such as this?
One small thing I'd suggest is to show errors in the editor. I changed some things which worked great then I tried some other syntax I thought might work which didn't. The line with the editor went red (good) but there was no way of seeing the exact error (bad).
Another request: a mailing list for updates on the project. I'd love to be emailed when new stuff comes out as I'd like to keep an eye on the project but will probably forget...
A fantastic tool! I couldn't help but notice when I did the first exercise that the way of live editing did distract me from observing the code deeper than fiddling with the actual values needed.
So if one would now ask me how do I do a full-yellow box I would not know how to do it from scratch. However, I would know that the RGBA values were 1, 1, 0 and 1, which is the most important part to learn.
That's why I think there is a lot of work to be done when making proper abstractions around this for human programmers in the future.
This is however just an observation on my part, I think this is definitely the way to go forward. Making learning more interactive just makes so much sense.
22 comments
[ 3.9 ms ] story [ 50.0 ms ] threadI often find and bookmark interesting learning resources like this, but I don't remember to come back later and check for new additions.
Just a suggestion, if it's going to do that it should explain why. I'm not hitting yes to that without a good reason.
If it's using it as source data for the pixel shaders... I get you're trying to go for a wow factor, but from experience I think a lot of people are creeped out when their likeness is used for something they don't have direct control over.
One small thing I'd suggest is to show errors in the editor. I changed some things which worked great then I tried some other syntax I thought might work which didn't. The line with the editor went red (good) but there was no way of seeing the exact error (bad).
Another request: a mailing list for updates on the project. I'd love to be emailed when new stuff comes out as I'd like to keep an eye on the project but will probably forget...
Loved the demos, especially the webcam ones.. I'm still surprised by what is possible with 'javascript' now.
Is there a way I can subscribe for updates?
For those who want to dig into pixel shaders, I recently wrote a tutorial going from no-knowledge to intermediate on this very topic:
http://ivorydungeon.net/2013/zero-to-glsl-spectrum-analyser-... HN - https://news.ycombinator.com/item?id=6159240
https://twitter.com/worrydream/status/257915809131819008
https://news.ycombinator.com/item?id=3951255
So if one would now ask me how do I do a full-yellow box I would not know how to do it from scratch. However, I would know that the RGBA values were 1, 1, 0 and 1, which is the most important part to learn.
That's why I think there is a lot of work to be done when making proper abstractions around this for human programmers in the future.
This is however just an observation on my part, I think this is definitely the way to go forward. Making learning more interactive just makes so much sense.