An open API service indexing awesome lists of open source software.

https://github.com/luruke/human-gpu

🤖 Hello human, I'm sick to be your GPU!!
https://github.com/luruke/human-gpu

opengl webgl

Last synced: about 2 months ago
JSON representation

🤖 Hello human, I'm sick to be your GPU!!

Awesome Lists containing this project

README

        

# 🧠 Human GPU Exercises.

![picture head](https://cdn-images-1.medium.com/max/1200/1*aMFjS2fG43qh5vH0J2QvLg.jpeg)

In the process of giving a WebGL workshop I created a series of exercises that aims to teach the basic of the WebGL/OpenGL pipeline.
The excercises are made to be printed and done in old-fashion **pen and paper**.

You are the GPU, you need to _read_, _parse_, _compile_ and _render_ using only the power of your mind.

It's a hands on experiments, where WebGL features are introduced incrementally and where exercises are meant to be done in the correct order.

Each exercise is accompanied by its solution that shows the final frame.

This is still a work-in-progress thing, surely full of typos and subject to changes.

![](https://i.giphy.com/media/Y0y50KCiSfzXzKyYiu/source.gif)

- [#0001 - The intro](https://github.com/luruke/human-gpu/blob/main/exercises/0001.pdf)
- [#0002 - Position attribute](https://github.com/luruke/human-gpu/blob/main/exercises/0002.pdf)
- [#0003 - Only triangle?](https://github.com/luruke/human-gpu/blob/main/exercises/0003.pdf)
- [#0004 - Vecfour?](https://github.com/luruke/human-gpu/blob/main/exercises/0004.pdf)
- [#0005 - Multiple attributes](https://github.com/luruke/human-gpu/blob/main/exercises/0005.pdf)
- [#0006 - Buffer + attribute pr0 l337](https://github.com/luruke/human-gpu/blob/main/exercises/0006.pdf)
- [#0007 - Do you love GPU?](https://github.com/luruke/human-gpu/blob/main/exercises/0007.pdf)
- [#0008 - Less memory is good](https://github.com/luruke/human-gpu/blob/main/exercises/0008.pdf)
- [#0009 - Uniforms](https://github.com/luruke/human-gpu/blob/main/exercises/0009.pdf)
- [#0010 - Uniforms v2](https://github.com/luruke/human-gpu/blob/main/exercises/0010.pdf)
- [#0011 - GLSL](https://github.com/luruke/human-gpu/blob/main/exercises/0011.pdf)
- [#0012 - what about z and w?](https://github.com/luruke/human-gpu/blob/main/exercises/0012.pdf)
- [#0013 - Fragment shader](https://github.com/luruke/human-gpu/blob/main/exercises/0013.pdf)
- [#0014 - Filling pixels](https://github.com/luruke/human-gpu/blob/main/exercises/0014.pdf)
- [#0015 - Half pixel?](https://github.com/luruke/human-gpu/blob/main/exercises/0015.pdf)
- [#0016 - Varyings](https://github.com/luruke/human-gpu/blob/main/exercises/0016.pdf)
- [#0017 - UV?](https://github.com/luruke/human-gpu/blob/main/exercises/0017.pdf)
- #0018... To be done
- #0019... To be done
- #0020... To be done
- ...

[Download all](https://github.com/luruke/human-gpu/archive/main.zip)