Let's code 3D Engine in Python from Scratch

preview_player
Показать описание
This is a Tutorial on how to create a 3D Software Renderer in Python from Scratch. Numpy and Pygame libraries are used to create such a 3D Renderer (Engine)

SourceCode:

#coderspace #python #3dengine #pygame #numpy
#programming #coding #programmer #developer #technology #code
Рекомендации по теме
Комментарии
Автор

This project was created to learn the basics of 3D. Of course, in terms of performance, Python is not the best option for this kind of thing, but it was pretty fun.
And sorry for some grammatical errors

CoderSpaceChannel
Автор

As someone with a degree in Computer Graphics, this 15 minute video pretty much sums up 2 entire years of university studies. Good job

backroomsorigin
Автор

This is by far the best beginner friendly game engine tutorial. Good job!

djangofakkeldij
Автор

This has seriously helped me understand so many complex topics that I've been trying to get my head around for so long but have never clicked. Now I can go away and learn about them properly in depth with the context for their use in my mind. Great work, seriously!

stafan
Автор

A whole semester worth of classes in a single video, essential for my final exam and project, I owe you one.

josemfernandeza
Автор

Very nice job and clear explanation of laying down the basic foundations in such a short period of time and not bad for a wireframe renderer within Python.

It still has a ways to go when it comes to adding in materials and textures to each of the faces. Then you have lighting and shadow casting calculations which leads to shaders and pre and post processing within the graphics pipeline.

After that, then it's a matter of building a Scene Graph where one object node can be in a nested tree like structure making it either a parent or a child node of another. Then once you have your tree structure or scene graph in place comes the concept of partitioning it to reduce your polygon count during the render frame calls such as quad trees or octrees as well as using or implementing a batch rendering process...

There are many more things that go into a 3D Engine such as collisions, physics, particle generators, animations, GUIs, HUDs, etc... I'd happily call it a 3D Renderer or Model Viewer at this point, yet it still has a lot to be desired before calling it an "engine"... I'm only saying this not to put down your work, but from personal experience since I have made a 3D Graphics/Game Engine from Scratch in C++... And this here only touches the ground work or the basics...

Keep up the good work, I'd love to see future videos to expand on this project. Maybe make a series out of it...

P.S. Also most of this processing and drawing of vertices within this video is being done on the CPU... Most of this ought to be processed and passed off to the GPU... The GPU can process all of the vertex, pixel, index, lighting and shading calculations much more efficiently and significantly faster than the CPU. This is where graphics APIs such as OpenGL, Vulkan and DirectX come into play especially with their Graphics and Shader Pipelines.

skilz
Автор

7:29 Thank you for explaining that one! I had issues really understanding the fourth homogeneous coordinate but now it's all made clear. Insanely instructive video.

hamzaf
Автор

This is wonderful and I have never seen such clean and effective python tutorial like this. I can only image what you could do with TensorFlow or PyTorch.

tristanv
Автор

Subscribed, liked, added to favorites and sent this video to a bunch of friends. Great job with the video man, you deserve infinite success

drkknnysinc
Автор

The quality of this video is insane and im really happy for you it gets so much attention!!!

slimfpv
Автор

I wish this sort of video tutorial existed when I was young and learning about 3D engines and matrices.

ristopaasivirta
Автор

I paused as you went along and did the steps myself and that helped a TON.

sheylagreenperez
Автор

This is by far the most underrated channel on YouTube

eureka
Автор

*I remember when I wrote my first 3D engine on the Commodore64 back in the mid-eighties*
I was so proud of myself too!!

johnsmithx
Автор

This is by far the best beginner friendly game engine tutorial as a beginer i still fight to understand it but keep up the amazing job bro

addisalem
Автор

I feel the need to congratulate you, because this video was hard to make. Keep up the good work mate! Well done!

unluckyaf
Автор

Wow, thank you for this most easily explanation. This will be my start of programming 3D models

alexl
Автор

What a passion! What a dedication! What amazingness!

homemrisonho
Автор

u deserve way more subs ..keep up the amazing work 💓💓

theshoulderofgiants
Автор

TNice tutorials tutorial is so useful, I tried tons of other tutorials but tNice tutorials was the best one

twitch.sae