With Visual Studio 2017, the old project options window shows up when you choose the "Windows Desktop Wizard" option.
@Ageekything5 жыл бұрын
Nope same thing except now it throws an exception? Can I send you a screen shot?
@keilanknight85135 жыл бұрын
@@Ageekything use the wizard and unselect "precompiled header", also select "empty project" this way you just need to add an item (cpp source file) then you're good to go. Just come across this video now and ran into these same problems after upgrading visual studio! There's something dirty about needing to use a wizard! :)
@franklemanschik_de4 жыл бұрын
@@keilanknight8513 you do not even need to use such wizard I for example simply copy project folder structures into so called template projects then I can copy that folder rename it to my new project name and boom it works :D I can open it in any IDE
@vlazm1853 Жыл бұрын
I have tried coding rotating square once. Took me way more time I want to accept...
@taba19506 жыл бұрын
-"don't click stop just yet" -I'm here for the math
@javidx96 жыл бұрын
Lol thanks Almujtaba! Im pleased to hear some people are!
@fuzzycat36516 жыл бұрын
If you aren't I would wonder if you really should be here!
@aradarbel45796 жыл бұрын
lol thats so true
@stanislavzoldak21985 жыл бұрын
Came to the comment section to say this exactly.
@Luffi985 жыл бұрын
@@fuzzycat3651 I expected more literature but only found math, dissapointed :(
@iamthebubb5 жыл бұрын
I once made a square that moved around using c++, it took me a week
@richarddukard89894 жыл бұрын
Next stop, red dead redemption 2
@blatrump4 жыл бұрын
@@username6338 So easy, that it's still the primary source of bugs in this language.
@obinator90654 жыл бұрын
Tompas Trupp yah even with RAII and smart pointers around. I’ve created custom allocators for my Game Engine that handle these problems for chunk loading etc. I still have leaks from time to time. There‘ll be a point in advanced Game Engines where ‚new‘ just isn‘t fast enough. The answer to that is Placement New, bug dangerous for sure.
@Odin_Borson4 жыл бұрын
I csn do that in C with old graphics.h
@alalala132whyisthishandletaken4 жыл бұрын
well if you don't know c++/c with classes too well that's not unimpressive given how shattered your view of arrays and data structures becomes when you move onto it from JavaScript.
@Lennybird914 жыл бұрын
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!
@الإسلامدينالحق-خ5ت2 жыл бұрын
My friends, search for your life purpose, why are we here?? I advise you to watch this series and this video 👇 as a beginning to know the purpose of your existence in this life kzbin.info/aero/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B- kzbin.info/www/bejne/bZWUZ3amjNVgpc0
@thecakeredux3 жыл бұрын
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.
@lookupverazhou85992 жыл бұрын
That's one way to get good at something.
@tellahsage6477 Жыл бұрын
Fucking cool man, wish i had the guts to do that. Most i've ever done was writing 2D platformers in pure C but never even wet my foot into 3D because bad at algebra and the like. I should pick up a math textbook and then try to do something like this after reading it, must be a rewarding experience once you actually see your code work.
@thecakeredux Жыл бұрын
@@tellahsage6477 It was amazing when it worked for the first time. I've tried it a couple times in the past and never got it working just right or only under very specific circumstances. Obviously this version bugged out dozens of times, but when it suddenly worked, I was really happy. The math isn't the difficult part about it, I'm pretty much a forklift driver, so I'm no math person by any stretch of the imagination.All you have to do is understand the individual steps, put them to code, abstract it away and you can forget about it forever. I couldn't explain to you vector maths or even do it on paper, but I can write code that does it, and I'm certain you can, too.
@prtygrl5077 Жыл бұрын
yeah me too, I also made a 3d engine. This video su!ks though. he make it complex but it's not. Our eyes only sees anything around us 360 degree any angle, rotated 2d and then rotated 3d. Same can be implemented with simple code. just need cos tan and basic trigonometry.
@thecakeredux Жыл бұрын
@@prtygrl5077 No, that would cause constant gimbal locks.
@amalirfan3 жыл бұрын
I was trying to replicate this in python for past couple of hours, it finally worked.. That was soo satisfying 😄😄
@vilasd.chawan17693 жыл бұрын
But how did you do that
@emmettdja3 жыл бұрын
Im trying to replicate it in p5 js and I've almost got all the code transferred. Time to think about it as i sleep til tomorrow morning.
@vilasd.chawan17693 жыл бұрын
@@emmettdja how do you do that ?
@emmettdja3 жыл бұрын
@@vilasd.chawan1769 mainly the matrix multiplication is what is doing this. You can recreate this kind of math on almost anything.
@vilasd.chawan17693 жыл бұрын
@@emmettdja ohh , but I didn't get that , as I am new to programming , and I have now only learned python 3 , and made only 3 super simple games
@TheTukkia5 жыл бұрын
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
@javidx95 жыл бұрын
lol thanks Talento, its surprising how much high-school maths has a practical value in programming!
@bonbonpony5 жыл бұрын
Yup, it all boils down to simple geometry of similar triangles ;)
@yan-amar5 жыл бұрын
@@javidx9 What's surprising to me is how high school made all those useful maths uninteresting by not telling us it was actually useful somewhere in the real world.
@maythesciencebewithyou5 жыл бұрын
@@yan-amar Be honest, you never cared to know back then.
@nich.19184 жыл бұрын
@@maythesciencebewithyou that's literally what he's saying...
@hoax-games5 жыл бұрын
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!
@javidx95 жыл бұрын
No problem Kreshnik!
@TheGoldenriff5 жыл бұрын
This actually gold. I have a degree in computer science and am employed in the field, always wanted to know deeply about graphics. This puts all the math I have taken into a realistic perspective and im finding myself going OHHH, I can take integrals and use trig identities to play around with the actual physics. I want to generate running water and I now have a new respect for the heavy game programmers!! Such a sick course this is man. Appreciate your effort! Im also glad this was theory based and not coupled with a bunch of assumptions!
@wanderingpalace2 жыл бұрын
this is cool i cant even get into university because i yeeted my entrance exam with a bit of depression now im trying to catch up with stuffs like linear algebra to make my own programs but it is particularly overwhelming after all the wasted years support you and looking forward to see your game
@nevanncopeland8093 Жыл бұрын
@@wanderingpalace how'd it go. I hope you got into school and doing well.
@viirtuose.official3 ай бұрын
Your channel is one of the internet’s gems. Thank you for your dedication, clarity, and passion. Far too many coding channels provide zero value according to Shannon's information theory-utterly predictable content-which is never the case with your videos. I always feel inspired simply watching you explore the infinite possibilities of programming. Many thanks, and cheers from France!
@javidx93 ай бұрын
Hey that's very kind of you! Keeps me going too, many thanks!
@tsraikage3 жыл бұрын
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
@OrangeDied2 жыл бұрын
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!
@johnjackson97676 жыл бұрын
It'll be interesting to see how far you can get with a software renderer using your framework. It's also great that you're showing the math and concepts behind this - it's surprising to me ( and sad, frankly ) that even in industry there are devs who simply don't know this stuff.
@javidx96 жыл бұрын
Hi John, I agree - it's all very well copying code parrot fashion to get a job done, but when it goes wrong knowing how to fix it is where the real talent lies. There will of course be some topics I can't directly cover using a command prompt alone, and as my colour and texture resolutions are a bit low, some techniques we take for granted on GPUs will simply not be applicable.
@jamesw2426 жыл бұрын
You could charge for these vids.. But i appreciate you not doing. I'm on long term sick and your videos help me do something useful with my time and to better myself
@javidx96 жыл бұрын
Hi James, I really appreciate what you are saying, and it pleases me because youve captured the essence of my entire OneLoneCoder initiative in one personal example. Thank you!
@starinsky28736 жыл бұрын
@@javidx9 Thanks programmer! Matrix is useful though.
@bonbonpony5 жыл бұрын
@@javidx9 Those who charge for their courses apparently forgot how they learnt their stuff in the first place (from freely available resources). If they had to pay for their knowledge, they would most likely not have it today. Spreading your knowledge for free means that one day someone else will give you their knowledge for free too. And that's how this world should work. Unfortunately, I see that it is heading in the very opposite direction more and more every day ;/ (because of money-induced greed).
@bonbonpony5 жыл бұрын
@Trys10Studios You see, you fell into the same trap most people do, putting the cart before the horse, that is, money before the thing it is paid for. In a logical world, you would do something because you enjoy doing it, and if someone finds it useful, they reward you with some goods in return to support you and make sure you will do more of it. When you do it the other way around, that is, you demand money or else you won't lift a finger, you're planning your own disaster. Because then, if people don't want to pay you, you blame them for being unfair or ungrateful, or blame yourself / your product for not being good enough, etc. Money takes out all the fun from life, because now you're starting to "work for money", and if you don't get money, you start to think that it is pointless to do something that you would otherwise do with pleasure out of pure boredom :q If people worked that way all the time (that is, do nothing unless someone pays them), no one would ever invent anything, created any piece of art, etc. And if you think about it somewhat deeper and on a broader scale, who do we work for, really? We work for each other, exchanging money in circles. So why do we really need that money? Couldn't we just work for each other directly, without this additional burden? Well, we could. And we did, back then in the past, when barter was the only means of economy (as it is in nature in general). Originally, money was just another commodity that could be exchanged for other goods or services, because it had inherent value. But then the tricky banksters come up with an idea of forging fake money (bank notes) of no inherent value whatsoever and exchange them for real value on the market, draining all the goods from it and turning people into their clueless slaves. Now we don't really work for each other that much anymore - we work for THEM now, because when you track where all the currency (which is no longer true money) comes from, you will always end up in some bank. They created a system in which you HAVE TO work for them in order to get money for your life, otherwise they don't let you just live happily and do whatever you want.
@pubx27195 жыл бұрын
@@javidx9 How to create a game like yourself
@MrBranh09133 жыл бұрын
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.
@carloscepeda8663 Жыл бұрын
Same here, lol. In my case I'm really bored of programming /maintaining enterprise applications or making API's and nothing else.
@symbioticparasite6268 Жыл бұрын
Your only doing a good job in I.T if you're feeling like a n00b.... It's an infinite loop of knowledge my friend, from 0 to 1 and back again. Nobody knows all, that's why we specialise and collaborate!
@prtygrl5077 Жыл бұрын
you don't need matrix calculations or transforms. he just makes it looks like difficult. Trust me it just takes 15 or less lines of code without any kind of special scenekits or anything. may be he's too d!mb to think. Our eyes only sees anything around us 360 degree any angle, rotated 2d and then rotated 3d. Same can be implemented with simple code.
@helloworld4872 Жыл бұрын
@@prtygrl5077I am a noob, we don't need to learn vector and matrix transform for game development ?
@deathbyslime672510 ай бұрын
@@prtygrl5077prove it
@CSPlayerDamon5 жыл бұрын
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!
@andrewbhamilton4 жыл бұрын
I have studied 3d maths for games and written a simple software renderer before I can safely say, that is the best explanation of the protection matrix I have ever seen. Extremely useful. Thank you javid
@codecoderr74955 жыл бұрын
Now this is what I call old school math-rasterizer exercise. Brilliant because you have the talent to teach fluently. Same as I. Cheers fellow coder.
@javidx95 жыл бұрын
Thanks Code Coderr!
@astrahcat1212 Жыл бұрын
“We’re just gonna paint a lil struct over here……..that’s right, just a lil happy struct…” 😂😂😂😂
@rikittu3 жыл бұрын
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.
@nockieboy4 жыл бұрын
I'm looking to make a hardware 3D accelerator for my home-made 8-bit computer using an FPGA, and this channel is the first place I came to for details on the maths - and you did not disappoint!!
@javidx94 жыл бұрын
Sounds like a great project!
@nockieboy4 жыл бұрын
It's certainly testing my knowledge of programming and electronics! Keep up the great work - I'm learning loads! 👍
@manuellehmann2676 жыл бұрын
Oh, my god. He just opened pandoras box :-D 3D graphics is an interesting but sooooo complicated topic. Looking forward for upcoming episodes. :-)
@javidx96 жыл бұрын
Thanks donnerbrenn! It certainly does open up lots of opportunities for interesting videos
@starinsky28736 жыл бұрын
Next time when you play games you will think about furious developer.
@jax20595 жыл бұрын
Tro Ivas k
@jax20595 жыл бұрын
Tro Ivas ok
@bonbonpony5 жыл бұрын
Well, it's good to know what's in the box if you're gonna use it.
@MuradBeybalaev4 жыл бұрын
21:51 "If I put some *imaginary numbers* next to this..." A mathematician gets excited. 21:56 Basic *integers* are drawn. The mathematician gets disappointed.
@youssef23664 жыл бұрын
Well in all fairness he didnt say lateral numbers
@violenceisfun9913 жыл бұрын
"Pi is exactly 3!" Sorry. I couldn't help myself
@user-dh8oi2mk4f3 жыл бұрын
@@violenceisfun991 that’s the fundamental theorem of engineering
@summer_xo3 жыл бұрын
javid invented computer science, video games, visual studio, 3d graphics and free world class tuition.
@javidx93 жыл бұрын
That's quite a list... I don't recall inventing all those things, but I do appreciate the thought and support. Thanks Shane!
@mr_noodler Жыл бұрын
This guy is so awesome because the more I practice programming, every time I watch this I understand more and realize how much he really knows what he’s talking about. Javidx9 is well educated and experienced
@Agent560006 ай бұрын
Any advice for a complete beginner
@SE45CX5 жыл бұрын
What I like about your style is that you present this in a general DIY approach. Without the annoying snobbish attitude what you see so often.
@guacamolen6 жыл бұрын
I was trying to find something on how to do this a couple of months ago. I'm glad I subscribed! Nice treat to see it.
@javidx96 жыл бұрын
Good stuff! Thanks Michael
@Wjw1295 жыл бұрын
Finally, a programming tutorial where you cant hear the tutor’s saliva. Very helpful though so far, thanks so much.
@kenji18564 жыл бұрын
yes, I too am no longer educating myself because the person trying to teach me produce saliva in their mouth, and apparently I can hear it.
@kristypolymath13594 жыл бұрын
Maybe if the teachers weren't buried in your lap....
@anisnej104 жыл бұрын
@@kenji1856 poor attempt at a verbose meme.
@onesubscriberbeforechallenge4 жыл бұрын
no homo
@shadybandit74 жыл бұрын
and the damn music
@AaronBowley5 жыл бұрын
Seriously , this is the kind of content I yearn for . True fundamentals
@javidx95 жыл бұрын
Hey thanks Aaron!
@reubenbridges Жыл бұрын
Feels like I just watched a classic PBS show on programming, late 80s early 90s. Excellent video.
@saeed62964 жыл бұрын
I tried to do this projection in a lame way when I was in high school, this video brings back those memories 😭 you're awesome
@joshlovesfood3 жыл бұрын
This video is actually incredible, I am impressed with your skills, and you are a very strong & serious computer scientist
@JimmyJohanes3 жыл бұрын
can you imagine the source code complexity of program like 3ds max, blender ..
@javidx93 жыл бұрын
Well i believe blender is open source, so no need to imagine it! Go check it out!
@javidx93 жыл бұрын
github.com/blender/blender
@theslavegamer3 жыл бұрын
@Christian Weissmuller like a 3rd of the program is managing the interface, there's so many hotkeys for re-ordering and hiding UI elements. I love blender
@peepwebdev5754 жыл бұрын
I have just starting watching OLC videos. i have been amateur coding for about 3 years with python and some JS. This is fascinating. I cannot grasp the mathematical concepts but i kind of get whats happening with the C++. I'm going to try and dissect this video series and hopefully come out the other side with a basic understanding.
@javidx94 жыл бұрын
Glad it was helpful!
@الإسلامدينالحق-خ5ت2 жыл бұрын
My friends, search for your life purpose, why are we here?? I advise you to watch this series and this video 👇 as a beginning to know the purpose of your existence in this life kzbin.info/aero/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B- kzbin.info/www/bejne/bZWUZ3amjNVgpc0
@stevenray87373 ай бұрын
Just spent the day going over your tutorial, using C and SDL, and its brilliant. The projection part reminds me of the code I was writting for a Raycasting demo, a few years ago.
@adibattie9619 Жыл бұрын
5 years later and this video is still top notch. I followed along a few years ago and got it working in C++. I revisited this today because I wanted to try and get it working using my own programming language, which already has C++/SDL bindings. I wanted to get some 3D action happening but with OpenGL I would need to spend at least a week writing GL bindings, but with this approach I can get some basic 3D stuff happening using only the SDL API I've already written. Amazing stuff, thank you Javid!
@uploadschedule2 жыл бұрын
When he said that he will talk about the theory and the mathematical stuff at 1:06 i knew it was the right tutorial.
@Kazdro0096 жыл бұрын
11:49 Top 10 anime betrayals
@StarForgers6 жыл бұрын
LOL I guess that would be true for programmers!
@TheBypasser5 жыл бұрын
Guess it should read "all I want is my program to become my own hell;", yet "using namespace std;" is shorter to type so they substituted it ;)
@TheBypasser5 жыл бұрын
Tro Ivas, Not clear enough - should it be read as "no need to use global-scope #using", or, instead, "no reason to ignore it and keep typing std:: everywhere instead"? If the second option it is, then - think of it - it is just four(4!) damn letters, if it feels too much the next logical step is moving on to non-commented code with single-character variable names ;)
@Este44fr5 жыл бұрын
@@TheBypasser std::experimental::filesystem::path myPath; This is why you use "using namespace"
@TheBypasser5 жыл бұрын
@@Este44fr If used not on a single occasion, the secret spell: #define STD_EFS_PATH std::experimental::filesystem::path ;)
@VS-rv5xh5 жыл бұрын
thanks to you i finished my bachelor in IT since I really found my love for programming again
@father_jordan3 ай бұрын
THANK YOU for this. I've been getting into development for the Playdate handheld using their C API, and this just helped me write a basic 3D renderer. I'll continue on in the series but wanted to say thanks, this is still *very* relevant!
@alexanderhugestrand5 жыл бұрын
I liked this video without even watching, since this kind of programming is where I come from. An idea I've implemented myself: Skip the whole concept of a "near" plane for clipping the polygons and clip them against the view frustum instead. That way you can get infinitely close to a wall without seeing anything clipping. In the very unlikely case where the clipped polygon gets a point exactly at the origin, you can skip that polygon altogether to avoid division by zero - the player wouldn't see the polygon anyway, since the camera is exactly in its plane. If done right, so that you can trust the clipping algorithm, you'll be able to get rid of a bunch of if-statements in the inner rasterization loops (that's an optimization) where you normally would clip the projected triangle against the screen edges. Yet another idea to do all this but still render things on the GPU: Write the rasterization in OpenCL or CUDA.
@javidx95 жыл бұрын
Hi and thanks Alexander. I think there are several ways to interpret near plane clipping - I do move on to frustum clipping later in the series. I spent some time once rendering triangles with CUDA. The rendering bit is easy, but the scene partitioning bits to make sure the right warps/groups are accessing the right structural data is a real pain.
@khrissxander5 жыл бұрын
This is incredible. You continue to amaze me.
@nextlegacy3 жыл бұрын
Just implemented this to Javascript, kinda cool to see a cube in the Browser. Took me one month.... actully not regreting it at all.
@TheDonaldskates3 жыл бұрын
you explain this very well and you make it seem easy when in reality this takes a lot of patience
@javidx93 жыл бұрын
That's the curse of KZbin videos. Never assume anything I do on screen takes 30 minutes. Editing makes it look that way, but in reality it's much longer. The objective of my videos is to expose people to the things they may need to know about to achieve a specific goal.
@gmodrules1234567894 жыл бұрын
Minor but important detail. The matrix multiplication here is in row-major, but all of the matrices on Wikipedia are in column-major, so you will need to convert them before implementing them.
@mmiisshhaa10 ай бұрын
right??? I'm currently ending my first linear algebra course in uni, and I was quite stuck on what he was doing there... Do you know why he did this? isn't row more common?
@spicytuna086 жыл бұрын
final result is awesome.
@josephmills11045 жыл бұрын
This is just incredible, man. Wow, thanks for this!
@javidx95 жыл бұрын
Thanks Joseph!
@arsnakehert2 жыл бұрын
This is probably the best explanation of projection matrices I’ve seen on the internet
@Ryan-xq3kl4 жыл бұрын
This is the kinda info we can use to make 3d game design more applicable to more varieties of programmers
@daviddawkins5 жыл бұрын
Such a good explanation of the projection matrix. Thank you.
@ILGiullareDiCorte6 жыл бұрын
Very thanks! I am a computer science student and i love all your projects but this, is awesome! Thanks for the time that you spend for share your knowledge!
@javidx96 жыл бұрын
No problem! Thanks for your kind words and support!
@TrebleWing5 жыл бұрын
Great presentation. All this kinda code is way above my head (at the moment) but you are entertaining enough to keep watching and absorbing. Thanks for making these.
@blacksage815 жыл бұрын
If you really want to learn to code, pick a language, write the most basic of basic programs. "Hello World" I'd recommend C++ since its old and there should be tons of resources and sample code available.
@spaderkungskuk4 жыл бұрын
I've seen this excellent tutorial 65 times, and the younger me wished that it was explained that the projection matrix is just one of many possible. It's not an universal matrix, nor the only one, a special case of a linear projection. And the "-1 to +1" scale is, I believe, because of how the OLC GameEngine draws stuff, so that part of the tutoral is also only valid for similar environments.
@mettaursp3094 жыл бұрын
-1 to 1 for projections is a space called normalized device coordinates (NDC) that's been standardized for pretty much all hardware accelerated graphics for decades. Pretty much everything uses it.
@mattstirling63175 жыл бұрын
"Have a think about subscribing" I thunk, and I subbed.
@romanthegambler69664 жыл бұрын
*Thunk* \*A sound of bumping your head into subscription button\*
@furkanunsal58144 жыл бұрын
You Thunk?
@ithaca20763 жыл бұрын
@@furkanunsal5814 he thunk
@claudiusraphael94233 жыл бұрын
0:03 "... from scratch." - Showoff.
@derek25932 жыл бұрын
I was bored in algebra class, so I decided it would be cool to draw lines that make a parabola. 10 minutes later, I realized I had stumbled into the basics of 3D graphics/surfaces.
@mojoofc95285 жыл бұрын
I recently started learning the language, and this is my first language, this one video felt like 5 minutes, and I’ve learned soooo much. Going to the part two after the breakfast, I love you man
@justagreekdude60512 жыл бұрын
How did you get Windows Console Application? I don’t have that (I’m new to Visual Studio and I use the 2022 version)
@icebear36272 жыл бұрын
Wait, you will get from sky🤣
@AlienScribble5 жыл бұрын
Very nice - makes sense!
@imshaunnurse3 жыл бұрын
How'd it go? You finish?
@Levigumba5 жыл бұрын
"Now we won't get quite that far in this video..." *checks vid length* Oh boy do I have some catching up to do
@harvymckiernan935 ай бұрын
Gosh! This takes me back to the early 1980's. I must admit, the mathematical principles havent really changed. I use to do a lot of technical illustration work, and I remember reverse engineering my geometric grids and inputting the formulae into a ZX spectrum 48k. There was no reference model, so a lot of trial and error, and a few issues with the Tan function reaching infinity. I remember saying to everyone, this will catch on one day!! They Laughed! Unfortunatey, the refresh rate,was increadibly slow after barely contructing a cube. But it was absolutely fascinating to rotate the cube just by inputting a key$. I was in my element!
@legend6444 жыл бұрын
I use Eclipse to make my games, and when I did make 3D games, I actually pretty easily figured out how to do it. I imagined a person looking out of a window, the screen being the window. So not before long I drew a diagram of a person looking out of a window and figured out that some trigonometry can do the trick.
@3DSage6 жыл бұрын
Ahh you beat me to it! Haha great video as always.
@Pridetoons6 жыл бұрын
3DSage I wish you'd post some Gameboy Advance tutorials on your channel.
@Pridetoons6 жыл бұрын
Also from watching your channel I heard you want to make a Game Console. I have two books to recommend to you. 1) The Black Book of Game Console Design from Andre LaMothe 2) The ZX Spectrum ULA Also check out the UZEbox.
@javidx96 жыл бұрын
Lol oh dear, thanks 3DSage, clues in the name though right? XD it would be interesting to see this done from a more embedded systems perspective.
@3DSage6 жыл бұрын
Yes I will do that sometime!
@3DSage6 жыл бұрын
Yes It would be a dream of mine to make my own game console. It would be incredibly simple but even that would be amazing to me. Thank you for the books!
@aradarbel45796 жыл бұрын
just found your channel, and saw this video! this is exactly what I was looking for! You have a new sub ;D
@javidx96 жыл бұрын
Thanks buddy!
@suleimanmalocanstveni23422 жыл бұрын
Today it's 2022, and I want to know how to create this
@Pedozzi5 жыл бұрын
you are such a smart person. I studied industrial design, and i really appreciated this serie, even if i don't know how to code it is a great way to understand at least what 3d graphic (3D on 2D) engines do on a macro level. Thanks
@chikokishi70304 жыл бұрын
I just found this series today. I instantly subscribed because ive been SO interested in this for years, and your videos seem very well made, thank you!
@الإسلامدينالحق-خ5ت2 жыл бұрын
My friends, search for your life purpose, why are we here?? I advise you to watch this series and this video 👇 as a beginning to know the purpose of your existence in this life kzbin.info/aero/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B- kzbin.info/www/bejne/bZWUZ3amjNVgpc0
@joaquimspeck5 жыл бұрын
This is awesome! Nicely presented!
@javidx95 жыл бұрын
Thanks joaquimspeck!
@Poeterish3 жыл бұрын
Pleeeeease never stop making videos on KZbin ! Thank you so much for your effort !
@viperforty8450 Жыл бұрын
Thanks for the content my guy, watching your videos and getting ready to make a replica of an online childhood game in another game in lua, hope i will find strength to fully make it
@NeilRoy6 жыл бұрын
Awesome. Funny, I was thinking about trying my hand at doing my own software 3D. I've done some simpler stuff decades ago with vector style 3D graphics and DOS.
@javidx96 жыл бұрын
Hey Neil, you should! We can compare notes!
@nikolabozin95096 жыл бұрын
Hello Roy, I saw your comment on c++ Let's make 16 games -Asteroids too. Can't believe i remembered you haha
@NeilRoy5 жыл бұрын
@@javidx9 You would probably do much better than I would. I'm really rusty and my math isn't always the best.
@NeilRoy5 жыл бұрын
@@nikolabozin9509 : That asteroids game he made was amazing with such simple code.
@villevainio95545 жыл бұрын
Im not going to try and learn this. I just watch these for fun. This is very interesting
@javidx95 жыл бұрын
Hi Ville, If you are enjoying the videos then Im pleased! Thanks!
@tangytech76415 жыл бұрын
Same not going to bother learning this, I am watching just for the fun / getting a high level overview
@Philippe-ch6uk5 жыл бұрын
I am just going to reproduce it in java
@burnttoast1115 жыл бұрын
@@Philippe-ch6uk I'm going to reproduce it in TI BASIC on my TI-99/4A. Having trouble getting VS 2017 installed, though.
@Philippe-ch6uk5 жыл бұрын
@@burnttoast111 Good luck doing that in ti-basic ! It seems pretty difficult !
@fckyo333ujhjjkrrrr6 жыл бұрын
Thank you Javid, very cool
@bobafruti4 жыл бұрын
I find it helpful to think of graphics cards as really fancy math coprocessors capable of doing certain kinds of math really fast (and/or really parallelized) to help demystify “3D” rendering.
@londalecarter34825 жыл бұрын
Ive read lots of 3d graphics books.....You summed all that shit up in like 20 mins! you are amazing sir! Youv'e made a lot of people happy including myself! Thanks! Usually books get into proofs that get explained horribly! Wow! This is a money vid!
@metalim5 жыл бұрын
27:50 only X and Y component need to be divided by Z, no need to divide Z by Z :-)
@ZeroPlayerGame4 жыл бұрын
for consistency, it's better to divide everything by the same number; dividing Z by Z doesn't spoil anything, but allows you to express stuff via matrix algebra
@thyandyr73695 жыл бұрын
Oh wow just what I always wanted to see! Exiting hope it's more than just one episode!
@javidx95 жыл бұрын
Lucky you, there's 3 more and some more this year XD
@dz-2 жыл бұрын
Javidx9, your tutorials are fantastic! Thank you so much for them, and also for the magnificently documented olcPixelGameEngine.
@PashaDefragzor5 жыл бұрын
Programming is the way where you can go, but you may be never came back ^^ Only the brave can came back, for example Windows 95 release team
@thesageofwisdom37632 жыл бұрын
THANK YOU!!!!! you are a life saver. I'm learning nothing from school. your teachings is worth the 90K i dropped on my school
@fly7188 Жыл бұрын
thanks, your illustrations and explicit coding style really help illustrate the different components and concepts for this build. i learned much.
@progalt58166 жыл бұрын
Very Interesting!
@javidx96 жыл бұрын
Thanks Progalt
@richardlincoln8862 жыл бұрын
38 years ago, 14-15 year old me would have loved this... Trying to work out 3d from first principles with no mentor was impossible - closest I got was some isometric style landscape plots on a BBC micro :)
@Rombizio4 жыл бұрын
I have a Master's in Computer Graphics and this is one of the best courses out there online if one wants to learn to program in CG. OpenGL library or something similar would be good to teach too. This is very raw CG though I think it is very well explained. BTW, now I remember why I left the field. The math was brutal, especially for image processing and geometric modeling.
@hippzhipos23854 жыл бұрын
I did everything you said but when i run it the console collapses and the program ends :((
@Cowboy86255 жыл бұрын
I’m so confused on how you made the console have “pixels”. I have searched and search on how to change the font size programicly and every time I come up blank!
@mikul92044 жыл бұрын
He’s using olcEngine3D, which I assume you can download somewhere?
@BadComoc4 жыл бұрын
The "pixels" are actually special box unicode characters en.wikipedia.org/wiki/Box-drawing_character.
@diegonimo965 жыл бұрын
I do not quite understand very well everything you said because my English is not the best, but your explanation was clear enough to give me a better perspective of what visual illusions are in games, THX a lot. :D
@Napert5 жыл бұрын
At 33:30 when I try to run the program the console resizes to like 10x5 pixels and ends immediately I've followed the tutorial step-by-step and it's still doing that
@noesechet10265 жыл бұрын
Same here :(
@ahmedmohamedhassan92054 жыл бұрын
I've figured it out you have to lower the fontW , fontH value make it 2 or 1 and the magic will start :)
@antoniocs88735 жыл бұрын
Hey, thanks for all the info you provide here, it will take a lot of time to really absorb this. One thing to note, and I do know this is a bit of an old video but I see you do this in your recent videos as well, you have to speak into the microphone. Every time we see your face and you are looking at the camera it's always harder to understand what you are saying. When we just see the code the sound is great
@anouarbagent25112 жыл бұрын
C++ Gem Right there, Thanks Mr Javidx9 for this amazing content
@sarahtonin589135 жыл бұрын
21:27 It isn't? I've been using my computer wrong all this time!
@lunarusmusic31384 жыл бұрын
@Ephraim Bane hahahaha
@KrzychVEVO5 жыл бұрын
hi (my neglish not so very good) I have implemented this into Processing 3.4 and it actually works, which is cool. I just want to say thank you for your lessons, you are probably best programing teacher on youtube.
@javidx95 жыл бұрын
Hey thanks urk, I'm pleased you are finding the videos useful!
@cedrick00123 жыл бұрын
I lost count of how many jump cuts are in the first 2 minutes. But in all seriousness, this man is a legend.
@Genciak4 жыл бұрын
I really enjoy this video and will watch through the entire series. Thank you for great job!
@nulcow3 жыл бұрын
This deserves over 10m views and over 1m subs, this is amazing
@movement2contact5 жыл бұрын
I'm watching this to feel even more stupid than I already am.
@javidx95 жыл бұрын
Well at least you're trying. Lots of people just dont care enough. Good luck!
@gfabasic32Ай бұрын
By the looks of it, I should have found your channel years ago. I am trying to promote GFA-BASIC 32 for Windows, but I also code in many other languages. Looking forward to watching your videos.
@otacilioribeiro89444 жыл бұрын
this is awesome, you are a excellent at what you do and i love your way of explaining stuff; I spent some good time pondering about this video and i am amused. Thank you! By the way, i noticed that the comments of top and bottom triangles are switched, the bottom is actually the one initialized and drawn first
@rcherrycoke73223 жыл бұрын
These series of videos are pure gold - thank you so much for the effort you put into them. Your presentation style is spot on - especially how you explain the maths.
@ozzietradie65142 жыл бұрын
Thanks for posting this massively speed up a hobby project im working on I'll jump on your patreon work like this should be supported
@javidx92 жыл бұрын
Hey thank you Ozzietradie! That's much appreciated! What is the nature of your project?
@ozzietradie65142 жыл бұрын
@@javidx9 helping on a opensource project for augmented reality making a app to for easy placing items in the real world and bridging app to the cloud to headset.I was struggling to find much on doing image matrices most people are doing filters.