I would simplify further:
1) Implement 2D shapes and sprites with blits
With modern compute shaders, this has 95% of "How to use a GPU" while omitting 99% of the "Complicated 3D Graphics" that confuses everybody.