Code-It-Yourself! 3D Graphics Engine Part #1 - Triangles & Projection

1,726,996
0
Published 2018-07-14
This video is part #1 of a new series where I construct a 3D graphics engine from scratch. I start at the beginning, setting up the project, then discuss vertices and triangles. Next a description of how 3D coordinates are converted into on-screen 2D coordinates using a projection matrix. This results in seeing a cube being rotated in 2-axis and translated.

Source: github.com/OneLoneCoder/Javidx9/tree/master/Consol…

patreon.com/javidx9
discord.gg/WhwHUMV
Blog: www.onelonecoder.com/
Twitter: @javidx9
Twitch: javidx9

All Comments (21)
  • @kakkoiichris
    With Visual Studio 2017, the old project options window shows up when you choose the "Windows Desktop Wizard" option.
  • @taba1950
    -"don't click stop just yet" -I'm here for the math
  • @MrBranh0913
    I’m a backend developer who has spent most of my career never dealing with anything related to games or graphics. But lately I’ve had a curiosity about the world of computer graphics. This is an awesome introduction. Not going to lie some of the matrix multiplication stuff requires a refresher for me, but this is super solid material. Despite coding for 20 years I feel like a total noob again learning programming for the first time.
  • @Okuhno
    I went through this series years ago, I ended up porting all the code in the series to lua, it legitimately broadend my horizons and general understanding of code and math, I just want to say thank you.
  • @iamthebubb
    I once made a square that moved around using c++, it took me a week
  • @jeffreyg6850
    When I die... I want to come back as a line of Javidx9's code...
  • @Lennybird91
    As a Junior software engineer whose coverage of graphics consisted of one course utilizing OpenGL in college, I'm very grateful for this series. Exploring the underlying theory devoid of simplifying libraries is exactly what I'm after. Thanks!
  • @amalirfan
    I was trying to replicate this in python for past couple of hours, it finally worked.. That was soo satisfying 😄😄
  • @wyleong4326
    1 minute in and I’m already loving this; graphics, maths, programming and art.
  • @TheTukkia
    those pespective equations are things that make so much sense, but you will never think of unless you break the whole problem down really well. Nice job man, you make my geometry classes actually worth something
  • @thecakeredux
    I coded a 3d engine from scratch this year, without external code examples. Huge headache, but I got it done. Can't wait to see the hundreds of things I did wrong.
  • @Grandalf3004
    Following along with this in java, and ive had no trouble keeping up so far. You're a great teacher. You're actually one of the only decent free teachers I've found. You're sitting down and telling me something in a language I've never even programmed in, and I understand it better than the guy using the same language as me and 15 more videos.
  • @tsraikage
    i lost track of how many times i've watched this video series. 3d engines are my favorite field to practice with. even though i'm never able to fully recreate code on all platforms, its still so satisfying to listen to somebody's explanation who for sure knows subject so good even dummy like me can understand
  • @hoax-games
    For the people that wonder about the z-values in the projection matrix: for linear scaling, to get z in the range 0 to 1 you need to: z'=(z-znear)/(zfar-znear). However it is recommended to have higher precision for lower z values (objects that are near to the camera) than for higher z values (objects that are far away). Therefore z' is multiplied by zfar and divided by z (== the given projection matrix z-values in the video just written differently). This is an important note to fully understand the math behind the projection matrix. Thx javidx9 for this awesome video. I for the first time finally understand how a projection matrix is constructed. Thx to you!
  • @CSPlayerDamon
    There is one thing I have to say.. AWESOME! Advanced material like this, presenting both the theory and implementation are quite hard to find. Thank you!
  • @OrangeDied
    The thing I like about this tutorial is how Javid explains the actual math behind it in an easy to understand way, so you actually learn about how it works instead of blindly copying code. Great tutorial!
  • This is amazing. All that computational geometry being put to practice.
  • @BkSMedia
    As a student in their 3rd year of a degree program, I'm so thankful that my poor knowledge of Calculus, but somewhat decent understanding of Object Oriented Programming is paying off. Lots of really familiar concepts that have clicked and made me go "ahhh so that's what the lecturer was getting at!". It helps that I also used to 3D model game assets as well. Love that you've really gone to the absolute basics which is what I needed!
  • @rikittu
    I've always been fascinated how 3d graphics work but couldn't find a good video showing how to make it from scratch. I love that I found this video. Thanks for making it.