* [**C++**: _Physically Based Rendering:From Theory To Implementation_](http://www.pbr-book.org/)
* [**C++**: _Ray Tracing in One Weekend_](https://raytracing.github.io/books/RayTracingInOneWeekend.html)
* [**C++**: _Rasterization: a Practical Implementation_](https://www.scratchapixel.com/lessons/3d-basic-rendering/rasterization-practical-implementation/overview-rasterization-algorithm)
* [**C++**: _Developing a Software Renderer (Part 1)_](https://trenki2.github.io/blog/2017/06/06/developing-a-software-renderer-part1/)
* [**C++**: _Developing a Software Renderer (Part 2)_](https://trenki2.github.io/blog/2017/06/06/developing-a-software-renderer-part2/)
* [**C++**: _Developing a Software Renderer (Part 3)_](https://trenki2.github.io/blog/2017/06/06/developing-a-software-renderer-part3/)
* [**C++**: _Developing a Software Renderer (Part 4)_](https://trenki2.github.io/blog/2017/06/06/developing-a-software-renderer-part4/)
* [**C# / TypeScript / JavaScript**: _Learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript_](https://www.davrous.com/2013/06/13/tutorial-series-learning-how-to-write-a-3d-soft-engine-from-scratch-in-c-typescript-or-javascript/)
* [**Java / JavaScript**: _Build your own 3D renderer_](https://avik-das.github.io/build-your-own-raytracer/)
* [**Java**: _How to create your own simple 3D render engine in pure Java_](http://blog.rogach.org/2015/08/how-to-create-your-own-simple-3d-render.html)