3D Software Rendering : DevLog #1

Edit: I’ve found another good resource right here.

During the 2 past weeks (I guess…) I’ve started learning 3D programming by creating a 3D Software renderer. I found a pretty good tutorial to learn all the basics such as Matrix, Vectors and many Mathematics stuff I need to go further, but I’m glad to see that’s not really as hard as it may seems. It is actually, but I think I can manage if I work a lot. You can find the source code here.

The tutorial I’ve found was working with C#, JavaScript and Type Script, and I choose JavaScript for its quick implementation (create a HTML file and include my scripts into). By now I could display an animated cube in wire-frame.

It’s pretty nice ? Maybe… But I’m proud of it anyway 😉

But just as I said before, I’ve done this using JavaScript. The fact isn’t that JavaScript is a messy language (hopefully not) but I don’t like using it for a learning purpose, especially for something I’m really bad at. I talked to my engineering science (bad translation ?) teacher about my project and he suggest us, me and my classmates, to work on a 3D rendering engine in Python during this year. We use Python since last year to work on AI, path-finding or serialization, and Python seems to be a lot more easier to read than JavaScript.

My goal is not only to create a 3D engine to work with but also to learn how does it works and to create one by myself. I think it’s funny for me to be able to display graphics such as old 3D games like Quake. This project will be very long but it’ll take the time needed.

Stay tuned !