The teapot was one of the first 3D objects. In 1975, Martin Newell wanted a simple object to try to render. His wife suggested a teapot, which was perfect. While fairly simple, it could cast light on itself and had an internal hole. He graphed out the shape on paper then put in each point coordinate into his computer by hand, as the computer was not powerful enough to generate the coordinates on its own. It has been dubbed the "Utah Teapot."
I think the first real object was a 3d human hand it was made by modeling a real 3d hand with clay in real life then you draw all the faces, vertices and points, then you calculate the position of every x and y cordinates and then you type all of that on a computer and wait for it to render
As a GPU hardware engineer, I’m astonished at the level of abstraction you’ve been able to achieve with your video. Concise yet very informative. Great work.
where can I study gpu hardware any book? i hace already studied computer microarquitecture and the cpu, and I have been searching form a complete guide of gpu hardware but have been unable to find good resources please help me! I have a good base becouse i know how cpu works
@@abnereliberganzahernandez6337 I don't know if you'll see this 9 months later or if you've already moved on, but a CPU and a GPU work in much the same way, just that a GPU is specialized to handle 3D math *nearly* to the exclusion of all else and it works parametrically on thousands of tiny calculations therein. If you can understand parallel operations then a GPU should be a snap.
@@anon_y_mousse yes after some months I Saw a little bit of parallel computing. This is mostly managed by they OS. Then every alu si doing the same operation on parallel. This arquitecture is one instruction is done on many hardware. SIMD arquitecture. This is implemented on the OS. So the OS manage the hardware. Opengl is the computer language used for instructions a I think and cuda C
This is my advice to any one still in high school or middle school who is interested in programing and game design: pay close attention when you first learn about matrices in algebra. These are super useful, as per the video and it will make courses like linear algebra a bit easier to swallow later. Great video. I should have known that transformations would factor into this. It is cool to see the math I already know (but maybe not quite remember) applied here.
TheHappieCat It is amazing how many of these concepts are deeply rooted together. And how seemingly overly complicated math can actually be much simpler in certain circumstances. I still remember learning about cylindrical and spherical coordinates and thinking it was stupid bullshit at first. Then instantly understanding why doing the transformations were way easier than using the normal systems. Quick question and completely off topic: have you considered streaming? Resident Evil 4 is pretty sick to stream... :)
TheHappieCat I have thought about getting one myself. Not that anyone would watch me do the dumb things I like to do. Just let us know if you get the card and the setup. A live stream of stuff would be fun.
Ferrous Cantilope I don't think I knew that. I certainly didn't remember it. As much as I love that game, I doubt my PC can handle it. So I have the HD version on PS3.
I always feel excited and happy when I realize that the scene that I'm watching is really happening inside the PC, the 3D space is real and yes I always imagine the monitor like a window. And it is very amazing to think in all the huge quantity of data and calculations the graphic cards and processors are doing every single second. Thank for the video!
I am a 3d designer beginning to work on the area and I just loved your video, how you explain something rather complex to someone not in the field to be able to understand. It actually helped me to understand the process I go through when I am modeling. Subbed and liked! :)
Damn, makes me feel old, but I actually made some 3D models for a space combat game by typing vertice and triangle data in a text editor. 3D modeling software was not available for a reasonable price (let alone free), and objects with more than 20 or 30 triangles were too heavy for my 80-386 anyway. =D Loved the Thief: the Dark Project image by the way!
Well, before computers were even capable of doing realtime rasterisation (so, before OpenGL was a thing), that's how 3D modelling was done. The Utah Teapot (the one shown in the video at 2:06) was first designed on graph paper, before being written by hand as a 3D model.
This is great. Man there are so many people out there misusing words related to 3D graphics and animation. I kept finding stuff about modelling because they thought that was "rendering" the model. Thanks for nailing it!
This should be introduction to any mathematics class... Teacher: Who wants to learn all about algebra? Class: ... Teacher: Ok, who wants to wants to be able to play any game you want? Class: Yaaaay! Me! Teacher: And that's how it is done with algebra :)
exactly ... but some teachers are hired because they couldn't be something they had decided to become and had to choose "teacher" so that kinda is distracting
You know I am trying to make a game hopefully but I'm more of drawing these days and I know nothing about coding ... I wish my teacher had told me that games were made with math back when I was a kid and perhaps I'd of considered the class, now I'm stuck like I don't know shit in math and have to know all these numbers and letters; let's just draw.
@@loginid7108 lmfao I can smell India in that story xDDDDD
6 років тому+7
@@GrayMimikyu you dont need to know math to make games. what if i told you that games are made by a whole bunch of different people? some are programmers who are good at math, and some are the artists who just draw or make 3d models or animations. you make games as a team, by yourself is hard obviously.
Wow!! This video was ON POINT, being precise (showing the simplified matrices even!) while still light and entertaining in the production. Preparing myself for some binge-watching of this channel 👌
This video scratches an itch that is hard to fill in timely, consumable fashion. Thank you so much for this lesson! I hope you make more interesting projects.
Nice video! IMO, one thing said in the beginning is wrong, though: If we're talking about current real-time graphics in games, all 3D models are made up of triangles. Ages ago, quads were used sometimes, but since the triangulation of a quad can be done in two ways, a non-planar quad in a model can lead to artifacts or at least cause unnecessary headaches in modeling. Therefore, these days, everything is made up of triangles in real-time graphics. If we're not restricted to games and current graphics engines, a model can be made up of all sorts of surfaces or even as a combination of solids. A well-known example: Most 3D modellers these days support NURBS surfaces. Unless you're rasterizing the image, a model made up of NURBS surfaces can be rendered directly (for example, using a raytracer). So, IMO, it's wrong to state that all 3D models are made up of either tris or quads. Still, the rest was explained very nicely and to the point.
Eh, some 3D modelling programs still support modelling in quads. However, most 3D modelling programs and game engines automatically triangulate/tessellate the models before they're exported, because yes, quads are generally not used anymore unless you're programming the verticies directly.
Yeah, as I said: Since the triangulation of non-planar quads can lead to artifacts, they aren't used anymore. Basically, an artist has pretty much no feasible way to set which way the quad should be split into triangles and therefore cannot fully control the shape that ends up being rendered.
Searching for solution to computer problem I accidentally came across your video! This is wonderfully explained though I was not looking for this kind of video, still I have watched it with great interest. Know I know a real life application of my linear transformation class in the current semester at my University. You have got a new subscriber. Thanks for amazing quality content and blessing UA-cam.!!!
Nice video :D! Even though I learned most of this information on my first day as a game dev intern from our 3d modeler, I bet it will be helpful for many. Keep up the good work!
Thank you for the video. I need to gain a broad understanding of everything relating to game design for my career and videos like these are a big help. Subscribed.
All of this stuff is actually vital if you want to learn shader programming. This is a neat overview, especially for those trying to get into the theory behind a graphics pipeline. Well done!
One thing that I'm missing a little bit, is texture projection and what mipmapping is, as well as why it is used, as textures are usually used in the most basic games. Apart from that, you pointed to the least requirements to look deeper into, that one might need if she or he wanted to build a software renderer, which I would advice anyone to do if there is interest in gaining a deep understanding of the matter - it is also a fun little project (I did one myself).
As a game artist who now owns his own game company, I can tell you we love teapots!! also that a teapot was one of the first 3D objects to be rendered. Its one of the special objects available in 3ds Max by default.
informative, detailed explanations, pleasant voice, visual examples,.... even if I already knew most of this stuff it was entertaining to watch. +subscribed
That's a very good way of explaining things. I started to learn 3D in 2004, probably, after being an illustrator for a long time. Shame I lost the interest before really "getting there." As an illustrator that tries to keep drawing today, maybe using in 3D in my illustrations would revive my interest... I dunno. I would like to try, but I am tending more to a traditionalist approach nowadays (watercolor, traditional art for nearly everything) so I dunno how I would mix the two.
this video has been sitting in my "watch later" for 6 years and I happened to clear up the list a week after I studied "kinematic of robots" without knowing those knowledge about matrices coordinate production is required to understand this video better lol
Excellent job. Keep up the great work... (FYI, I started in 3D Studio r2 back in the early 90's and had a long career modeling/animating/rendering/programming/teaching/writing!)
You explained something so beautifully in few minutes such camera models and world which I found hard to grasp in a thick book on 3D graphics reading pages after pages. UA-cam learning is better than books now adays. Thanks
Hey, I just found your channel today and subscribed after watching a couple of your videos. You're doing really great work! Clear, concise, easy to follow. And cats! I'm a fan now! Keep up the good work! Looking forward to more content :)
Great video! That was a nicely succinct summary of the crazy amount of computation going on behind the scenes to render graphics. Curious, do you work with OpenGL at your new job, or Direct3D? or something else? As for your tutorials in the future, will you be covering the older style immediate mode before OpenGL 2.0 or the newer stuff where you handle all your own matrices, shaders, etc? I love all the work you're doing. Can't wait for more!
chawkzero I actually just kinda... know stuff about graphics engines and OpenGL from doing random projects. Some of the foundations I learned in school. I'm working on optimizing engine stuff at work so I don't directly work on graphics, though I'm often staring at related code for many hours. My tutorial will just be on how to set things up and make some crude shapes with the most recent versions of OpenGL and VS. Thank you! :)
I can't believe it. My assumption about this process was entirely correct. Granted, I am a programmer. So I had a good idea of how things are done computationally speaking. But I've never had to work with creating and managing a display matrix from scratch -- I've only ever worked with libraries. When creating games for Xbox, we used the XNA library on the .NET framework to allow C# to compile on an Xbox 360. And the library was rather hefty -- having all of the preset functions needed to draw sprites or models onto the display grid. But I only ever worked in 2D. It made significantly more sense with two dimensional assets -- having a rectangular viewport, and having anchor points / mathematic equations to translate vertices into a fully-rendered world. It's all straightforward and quite easy to understand. But then stepping into 3D is a whole new world of computation. And while it made sense to simply extend the math to account for another dimension, I didn't think it could possibly be as simple as it sounds. Because yes -- in theory, it makes perfect sense. If you know the exact physical location of each face in your world, and you know the exact location of the viewport / camera relative to the faces, you should theoretically be able to represent all range of motion (skew, rotate, scale, zoom, pan, etc.) mathematically. Like of course you should theoretically be able to work out how the perception of an object should warp depending on the change in perspective from frame to frame so long as you had equations accurate enough to derive such transformations. Yet this didn't seem possible on a technical level because that's tens of thousands of approximations calculated per frame. Hundreds of thousands of calculations per second. And that isn't even considering lighting effects or particle effects or animations or anything. Just the literal geometry beneath the texturing. No more. That's a RIDICULOUS workload. I can't believe processors don't combust instantly
Funny how we engage in our world with all kinds of rendered stuff, from reality simulation to games and watching animated videos. While not knowing how this all made from scratch. I find it very fascinating.
3:34 you don't have to use a matrix, there are other ways which are better, such as euler angles and quaternions, though quaternions are better because euler angles can get gimbal lock which isn't too good.
It can be useful if your experience is not about the inner workings of the rendering process. Some people can be very talented modelers without having a clue about what happens behind the scene in their software.
@@gauravv3367 it's good if you start learning programming from early stage. I also started learning on my own, from 0 experience on programming and now I am building my own game engine. I learned all stuff on my own. When I started learning there was an awesome game engine known as "DarkBasic" it is very easy to use game engine the language is very similar to BASIC. You can grab any beginner book on darkbasic and start learning it on your own. Basically you can get game Programming books for teens too, do some research and find what best suits you. I suggest darkbasic. Build some cool game, upload it on the Internet, impress your friend on school, impress your teachers, You will also learn programming in a fun way, with this knowledge you can start learning "C++", the one I learned was C++ for programmers by daitel, side by side learn data structures, there are some good books like "data structures for game programmers" too but don't learn this book alone, learn normal data structure book side by side too, after that comes a "algorithms" these are important subjexts too just don't think that this subject is useless, I want to remind you that game development is an engineering intensive field, it's true that everyone feels like I should give up and choose other field, but don't just give up have patience and go slowly, learn every thing step by step, if you don't understand the concepts read it again, now going back to our previous topic then comes the "object orieented modeling and design" and "software engineering principles" again you will feel software engineering as a useless subjext. "Design Patterns" and software architecture will help you too. I started these subject quite later so I faced a little bit difficulty. Then you can start computer graphics, and what interests you in parallell, I recommend computer architecture, linear algebra, Calculus, System programming, Operating System. With these skills you can learn OpenGL easily but even with these skills you will face difficulty in learning pipelines and the Matrix transformations at first, if you pass this test then rest of the concepts goes easily. But today's 3D games contains hundreds of models in the scene and each models are made up of thousands of triangles to explain in brief there's a lot of load on both CPU and GPU if we are not carefull, so for rendering efficiecy we use one data structure "BSP". We study it in "Computational Geomerty". I can't name everything here the list is so vast, and is impossible to list here, even i am in learning stage but yeah some other the important filed in games are physics, AI, mathematics.
Thats how it works: Assets Part: 1) Whats explained in this video + Concept Idea 2) Texturing 3) Rigging ( Characters ) 4) Motion Capture ( Characters ) 5) Creating Speech / Sound FX Game Engine Part: 4) Coding the engine software or using an existing one e.g. UE4 which is basically extremely optimized 3D Renderer. 5) Building the level 6) Coding the controls, the overall scenes, level behavior, timings etc. ( The main part ) 7) Creating User Interface and Design 8) Testing, Testing & Testing.. 9) Releasing the game. 10) Still fixing and testing. And you don't need good Math knowledge to do it all, but programming language is extremely useful.
Great video! I have a computer graphics course at my uni and I find the matrices and the math kinda hard understand. This made it easier to understand :)
I have to make a correction: in 0:35 you say “every 3D figure is made up of triangles of squares, also named quads”. That’s not true. Even if any rendering engine, realtime or not, can render any kind of polygon not depenging on the sides or vertices it has, at the time you see the result on the screen it has been converted to triangles. Why this? Because a triangle will always have a flat surface, doesn’t matter the way it’s vertices are, because the intersection plane between them is always flat. But since other figures have more than 3 vertices and the intersection plan of their vertices will not necessary result in a plat surface, this gets solved by making them internally composed by triangles. So, in fact, a quad is no other thing that two triangles stich together. But, by the way, even if in rendering you always see triangles, quads are much more used in modelling because quads let you set the flow of the stripes of polygons
I have been struggling with matrices for years and it was because it has had no purpose. I finally have a purpose for them and this will make it so much easier and keep me motivated for finally mastering this math.
This was a pretty solid breakdown. I'll try to get some friends to watch it later, since I'm coming into this with an understanding already... It's broken down into more digestible pieces than what I would have been able to :P
You know what. They should use this example of how computer game graphics are rendered to provide context to and teach matrices and linear algebra. It will be 10x more exciting.
between the dark room with low lighting to your end rag doll ending in your school project.. to the warmage and control to the age of 30 you left me and so did he.. lol
Minecraft uses a certain kind of 3D graphics called voxels, which are cubes. While it may look blocky, that is simply because it uses very few voxels. If you use a few thousand, it can look very realistic. Many people are also saying that voxels are the future of 3D graphics, because they're cheap, and they can also be a realistic representation of atoms.
@@edk.2045 sort of, Minecraft uses opengl which does have a quads function, but more just to simplify triangles when you write in immediate mode, Minecraft is rendered in triangles and voxels aren't really a thing, it's just easier to talk about it as voxels but it doesn't have alot to do with the actual OpenGL rendering of anything.
@@Lalovoe not necessarily. DAGs are very useful for STORING complex geometry in a small size. Once you load it into memory along with an appropriate skeleton, you can pretty much deform it however you want, just like with polys.
The teapot was one of the first 3D objects. In 1975, Martin Newell wanted a simple object to try to render. His wife suggested a teapot, which was perfect. While fairly simple, it could cast light on itself and had an internal hole. He graphed out the shape on paper then put in each point coordinate into his computer by hand, as the computer was not powerful enough to generate the coordinates on its own. It has been dubbed the "Utah Teapot."
I think the first real object was a 3d human hand it was made by modeling a real 3d hand with clay in real life then you draw all the faces, vertices and points, then you calculate the position of every x and y cordinates and then you type all of that on a computer and wait for it to render
As a GPU hardware engineer, I’m astonished at the level of abstraction you’ve been able to achieve with your video. Concise yet very informative. Great work.
where can I study gpu hardware any book? i hace already studied computer microarquitecture and the cpu, and I have been searching form a complete guide of gpu hardware but have been unable to find good resources
please help me!
I have a good base becouse i know how cpu works
@@abnereliberganzahernandez6337 I don't know if you'll see this 9 months later or if you've already moved on, but a CPU and a GPU work in much the same way, just that a GPU is specialized to handle 3D math *nearly* to the exclusion of all else and it works parametrically on thousands of tiny calculations therein. If you can understand parallel operations then a GPU should be a snap.
@@anon_y_mousse yes after some months I Saw a little bit of parallel computing. This is mostly managed by they OS.
Then every alu si doing the same operation on parallel. This arquitecture is one instruction is done on many hardware. SIMD arquitecture. This is implemented on the OS. So the OS manage the hardware.
Opengl is the computer language used for instructions a I think and cuda C
This is my advice to any one still in high school or middle school who is interested in programing and game design: pay close attention when you first learn about matrices in algebra. These are super useful, as per the video and it will make courses like linear algebra a bit easier to swallow later.
Great video. I should have known that transformations would factor into this. It is cool to see the math I already know (but maybe not quite remember) applied here.
Brian Smith Very true! I use all the math and physics I thought was totally useless every day!
TheHappieCat It is amazing how many of these concepts are deeply rooted together. And how seemingly overly complicated math can actually be much simpler in certain circumstances.
I still remember learning about cylindrical and spherical coordinates and thinking it was stupid bullshit at first. Then instantly understanding why doing the transformations were way easier than using the normal systems.
Quick question and completely off topic: have you considered streaming? Resident Evil 4 is pretty sick to stream... :)
TheHappieCat I have thought about getting one myself. Not that anyone would watch me do the dumb things I like to do.
Just let us know if you get the card and the setup. A live stream of stuff would be fun.
Brian Smith FYI RE4 is on steam...
Ferrous Cantilope I don't think I knew that. I certainly didn't remember it. As much as I love that game, I doubt my PC can handle it. So I have the HD version on PS3.
I didn't realize how much gets put into graphics. Very informative.
It's all put behind a series of mere clicks.
Welcome to the matrix... there is no camera.
also there is no sky, just a box not affected by the camera matrix
Tomas Alejandro it's so wonderful to get comments on comments I made years ago :D
101 likes OMG
Welcome to the matrix... there is no matrix.
Neo.. You must believe...
I always feel excited and happy when I realize that the scene that I'm watching is really happening inside the PC, the 3D space is real and yes I always imagine the monitor like a window. And it is very amazing to think in all the huge quantity of data and calculations the graphic cards and processors are doing every single second. Thank for the video!
I am a 3d designer beginning to work on the area and I just loved your video, how you explain something rather complex to someone not in the field to be able to understand. It actually helped me to understand the process I go through when I am modeling. Subbed and liked! :)
This is INCREDIBLY well explained. Thank you for making this, I've always wanted to know!
Damn, makes me feel old, but I actually made some 3D models for a space combat game by typing vertice and triangle data in a text editor. 3D modeling software was not available for a reasonable price (let alone free), and objects with more than 20 or 30 triangles were too heavy for my 80-386 anyway. =D
Loved the Thief: the Dark Project image by the way!
hahah thats dope af dude.
Well, before computers were even capable of doing realtime rasterisation (so, before OpenGL was a thing), that's how 3D modelling was done. The Utah Teapot (the one shown in the video at 2:06) was first designed on graph paper, before being written by hand as a 3D model.
Hugh Manatee
3D programs are still hella expensive
Hugh Manatee meh ill just search for torrent
u should just use blender , omg
its free and do everything an expensive 3d program do ,
What if I told you there is no camera
Pixelcubed What if I told you it'explained in the video? 3:50
What if I told you I was making a reference to the matrix "what if I told you" meme?
Didn't get it, sorry
its a rather well known pop culture referrence
Well I'm not english and I didn't know that. Thank you for the explanation
This is great. Man there are so many people out there misusing words related to 3D graphics and animation. I kept finding stuff about modelling because they thought that was "rendering" the model. Thanks for nailing it!
This should be introduction to any mathematics class...
Teacher: Who wants to learn all about algebra?
Class: ...
Teacher: Ok, who wants to wants to be able to play any game you want?
Class: Yaaaay! Me!
Teacher: And that's how it is done with algebra :)
Make Studying at school great again!
exactly ... but some teachers are hired because they couldn't be something they had decided to become and had to choose "teacher" so that kinda is distracting
You know I am trying to make a game hopefully but I'm more of drawing these days and I know nothing about coding ... I wish my teacher had told me that games were made with math back when I was a kid and perhaps I'd of considered the class, now I'm stuck like I don't know shit in math and have to know all these numbers and letters; let's just draw.
@@loginid7108 lmfao I can smell India in that story xDDDDD
@@GrayMimikyu you dont need to know math to make games. what if i told you that games are made by a whole bunch of different people? some are programmers who are good at math, and some are the artists who just draw or make 3d models or animations. you make games as a team, by yourself is hard obviously.
Wow!! This video was ON POINT, being precise (showing the simplified matrices even!) while still light and entertaining in the production. Preparing myself for some binge-watching of this channel 👌
Yes...... I understand some of these words.
Like graphics!
Gotta hev dem grephucks!
xD
Jobaa87 Only some?!?!
such a childish thing to say.
the only word i understood she saying was "pussy"
I've done it for a few years at a time before at school, can explain some. Used to make games too
This video scratches an itch that is hard to fill in timely, consumable fashion. Thank you so much for this lesson! I hope you make more interesting projects.
gaiaflare "This video scratches an itch that is hard to fill in timely, consumable fashion" - Well put!
XanderHD "Well put!"
- Amazingly said.
This brings back bad memories of math class.
Im truamatized
Does 3D graphics mean the kind of 3D where you need 3D glasses
@@barneyhavard7462 god no
@@immortaldev1489 if you think about it, all glasses are 3d glasses
Nah bro my fav Is maths because I am Asian
I have to admit that I loved your video, its so simple and easy to understand.
keep up the good work.
You are literally my favorite person to watch on youtube!
This was Extremely well explained. Thank you!
This gave me enough motivation to concentrate on my math classes.. Good that I saw this video during my school days xDdddd
You kidding me? It's more magical than before! o.O
Nice video!
IMO, one thing said in the beginning is wrong, though:
If we're talking about current real-time graphics in games, all 3D models are made up of triangles. Ages ago, quads were used sometimes, but since the triangulation of a quad can be done in two ways, a non-planar quad in a model can lead to artifacts or at least cause unnecessary headaches in modeling. Therefore, these days, everything is made up of triangles in real-time graphics.
If we're not restricted to games and current graphics engines, a model can be made up of all sorts of surfaces or even as a combination of solids. A well-known example: Most 3D modellers these days support NURBS surfaces. Unless you're rasterizing the image, a model made up of NURBS surfaces can be rendered directly (for example, using a raytracer).
So, IMO, it's wrong to state that all 3D models are made up of either tris or quads.
Still, the rest was explained very nicely and to the point.
Eh, some 3D modelling programs still support modelling in quads. However, most 3D modelling programs and game engines automatically triangulate/tessellate the models before they're exported, because yes, quads are generally not used anymore unless you're programming the verticies directly.
At now, modern 3D apis (OpenGL x>2.0 and DirectX x>9) doesn't support quads.
Little extension:
the gpu graphical pipelines always create triangles from quads
Mcs1v Yep. It's basically the same as using GL_TRIANGLE_STRIP.
Yeah, as I said: Since the triangulation of non-planar quads can lead to artifacts, they aren't used anymore. Basically, an artist has pretty much no feasible way to set which way the quad should be split into triangles and therefore cannot fully control the shape that ends up being rendered.
This is a really good way of explaining this stuff to beginners. I'm gonna send this to anyone who doesn't understand how 3d graphics work.
I'm a 2-D artist learning 3-D and coding at the same time (slowlllllyyy). These videos have been a great starting point.
Searching for solution to computer problem I accidentally came across your video! This is wonderfully explained though I was not looking for this kind of video, still I have watched it with great interest. Know I know a real life application of my linear transformation class in the current semester at my University. You have got a new subscriber. Thanks for amazing quality content and blessing UA-cam.!!!
The best explanation I have seen so far and that too within a shortest time
Awesome work!
Nice video :D! Even though I learned most of this information on my first day as a game dev intern from our 3d modeler, I bet it will be helpful for many. Keep up the good work!
Excellent explanation! Not only do you know your stuff, but you have the ability to organize and present what you know.
Great videos, very digestible information, very accessible language. Great job!
Shit should've concentrate during math class when my teacher is teaching lessons about matrices
Extremely educative, thank you for such a high quality content
nice!! simple yet informative, love the way it is explained, couple it with a smiling face of the triangle and square and cats too :D
H😁ppyCat, thank you for breaking this down into something so easily digestible.
To me this has been nice and informative.
Keep up the great content.
I love your voice. It's so calm and soothing. it makes me listen to what you have to say :)
Your videos are so useful! Thank you for producing your channel
This is a great video. Really clear and informative. Thanks!
watched the video like 3-4 times and finally understand it! Thank you for making concepts so easy, even a caveman like me can learn them!
Thank you for the video. I need to gain a broad understanding of everything relating to game design for my career and videos like these are a big help.
Subscribed.
All of this stuff is actually vital if you want to learn shader programming.
This is a neat overview, especially for those trying to get into the theory behind a graphics pipeline. Well done!
Very well explained!
One thing that I'm missing a little bit, is texture projection and what mipmapping is, as well as why it is used, as textures are usually used in the most basic games.
Apart from that, you pointed to the least requirements to look deeper into, that one might need if she or he wanted to build a software renderer, which I would advice anyone to do if there is interest in gaining a deep understanding of the matter - it is also a fun little project (I did one myself).
Fantastic video. As a person new to this language its a lot of info all at once, but you put it all together beautifully.
You should become a professor. I didn't get this information from my professor. You are amazing
Finally I found a video explaining this stuff in detail
Somehow this 6 minute video was more informative than the 1 hour lecture I had about graphics.
As a game artist who now owns his own game company, I can tell you we love teapots!! also that a teapot was one of the first 3D objects to be rendered. Its one of the special objects available in 3ds Max by default.
Wow! Now I can wrap my head around how code turns into a game! Thanks! Maybe I'll make my own game engine one day
So soothing way of explaination,
Thanks ma'am ❤
informative, detailed explanations, pleasant voice, visual examples,....
even if I already knew most of this stuff it was entertaining to watch. +subscribed
That's a very good way of explaining things. I started to learn 3D in 2004, probably, after being an illustrator for a long time. Shame I lost the interest before really "getting there." As an illustrator that tries to keep drawing today, maybe using in 3D in my illustrations would revive my interest... I dunno. I would like to try, but I am tending more to a traditionalist approach nowadays (watercolor, traditional art for nearly everything) so I dunno how I would mix the two.
Excellent video, keep up the good work
You are AWESOME!! You told everything just the way I like to learn. THANKS.
this video has been sitting in my "watch later" for 6 years and I happened to clear up the list a week after I studied "kinematic of robots" without knowing those knowledge about matrices coordinate production is required to understand this video better lol
Excellent job. Keep up the great work...
(FYI, I started in 3D Studio r2 back in the early 90's and had a long career modeling/animating/rendering/programming/teaching/writing!)
You explained something so beautifully in few minutes such camera models and world which I found hard to grasp in a thick book on 3D graphics reading pages after pages. UA-cam learning is better than books now adays. Thanks
Hey, I just found your channel today and subscribed after watching a couple of your videos. You're doing really great work! Clear, concise, easy to follow. And cats! I'm a fan now! Keep up the good work! Looking forward to more content :)
Great video! That was a nicely succinct summary of the crazy amount of computation going on behind the scenes to render graphics.
Curious, do you work with OpenGL at your new job, or Direct3D? or something else?
As for your tutorials in the future, will you be covering the older style immediate mode before OpenGL 2.0 or the newer stuff where you handle all your own matrices, shaders, etc?
I love all the work you're doing. Can't wait for more!
chawkzero I actually just kinda... know stuff about graphics engines and OpenGL from doing random projects. Some of the foundations I learned in school. I'm working on optimizing engine stuff at work so I don't directly work on graphics, though I'm often staring at related code for many hours.
My tutorial will just be on how to set things up and make some crude shapes with the most recent versions of OpenGL and VS.
Thank you! :)
Your videos are awesome..:! :)
Great video. Thanks for posting.
Subbed, great video. Look forward to seeing more of your stuff!
I genuinely love your videos!
I can't believe it. My assumption about this process was entirely correct.
Granted, I am a programmer. So I had a good idea of how things are done computationally speaking. But I've never had to work with creating and managing a display matrix from scratch -- I've only ever worked with libraries.
When creating games for Xbox, we used the XNA library on the .NET framework to allow C# to compile on an Xbox 360. And the library was rather hefty -- having all of the preset functions needed to draw sprites or models onto the display grid.
But I only ever worked in 2D. It made significantly more sense with two dimensional assets -- having a rectangular viewport, and having anchor points / mathematic equations to translate vertices into a fully-rendered world. It's all straightforward and quite easy to understand.
But then stepping into 3D is a whole new world of computation. And while it made sense to simply extend the math to account for another dimension, I didn't think it could possibly be as simple as it sounds. Because yes -- in theory, it makes perfect sense. If you know the exact physical location of each face in your world, and you know the exact location of the viewport / camera relative to the faces, you should theoretically be able to represent all range of motion (skew, rotate, scale, zoom, pan, etc.) mathematically. Like of course you should theoretically be able to work out how the perception of an object should warp depending on the change in perspective from frame to frame so long as you had equations accurate enough to derive such transformations. Yet this didn't seem possible on a technical level because that's tens of thousands of approximations calculated per frame. Hundreds of thousands of calculations per second. And that isn't even considering lighting effects or particle effects or animations or anything. Just the literal geometry beneath the texturing. No more.
That's a RIDICULOUS workload. I can't believe processors don't combust instantly
Funny how we engage in our world with all kinds of rendered stuff, from reality simulation to games and watching animated videos.
While not knowing how this all made from scratch.
I find it very fascinating.
Hello
You are absolutely right, about teapots! It’s something magical about them.
Thanks so much for this! You are so knowledgeable AND are a great communicator. :) I learned a lot!
Wow! All the explanation I needed in one video. Thank you cat.
3:34 you don't have to use a matrix, there are other ways which are better, such as euler angles and quaternions, though quaternions are better because euler angles can get gimbal lock which isn't too good.
Awesome job, this was easy to follow. You must understand it well to explain it that well.
This is great content, keep up the good work!
I have a 2 years 3d experience and i am watching this..
It can be useful if your experience is not about the inner workings of the rendering process. Some people can be very talented modelers without having a clue about what happens behind the scene in their software.
yup there's a huge difference between theory knowledge and practical work
Same
HlDlTR at which age did u start doin this? Coz m 13 i wanna merge computer programing infact game industry?
@@gauravv3367 it's good if you start learning programming from early stage. I also started learning on my own, from 0 experience on programming and now I am building my own game engine. I learned all stuff on my own. When I started learning there was an awesome game engine known as "DarkBasic" it is very easy to use game engine the language is very similar to BASIC. You can grab any beginner book on darkbasic and start learning it on your own. Basically you can get game Programming books for teens too, do some research and find what best suits you. I suggest darkbasic. Build some cool game, upload it on the Internet, impress your friend on school, impress your teachers, You will also learn programming in a fun way, with this knowledge you can start learning "C++", the one I learned was C++ for programmers by daitel, side by side learn data structures, there are some good books like "data structures for game programmers" too but don't learn this book alone, learn normal data structure book side by side too, after that comes a "algorithms" these are important subjexts too just don't think that this subject is useless, I want to remind you that game development is an engineering intensive field, it's true that everyone feels like I should give up and choose other field, but don't just give up have patience and go slowly, learn every thing step by step, if you don't understand the concepts read it again, now going back to our previous topic then comes the "object orieented modeling and design" and "software engineering principles" again you will feel software engineering as a useless subjext. "Design Patterns" and software architecture will help you too. I started these subject quite later so I faced a little bit difficulty. Then you can start computer graphics, and what interests you in parallell, I recommend computer architecture, linear algebra, Calculus, System programming, Operating System.
With these skills you can learn OpenGL easily but even with these skills you will face difficulty in learning pipelines and the Matrix transformations at first, if you pass this test then rest of the concepts goes easily. But today's 3D games contains hundreds of models in the scene and each models are made up of thousands of triangles to explain in brief there's a lot of load on both CPU and GPU if we are not carefull, so for rendering efficiecy we use one data structure "BSP". We study it in "Computational Geomerty". I can't name everything here the list is so vast, and is impossible to list here, even i am in learning stage but yeah some other the important filed in games are physics, AI, mathematics.
Best video!
Thats how it works:
Assets Part:
1) Whats explained in this video + Concept Idea
2) Texturing
3) Rigging ( Characters )
4) Motion Capture ( Characters )
5) Creating Speech / Sound FX
Game Engine Part:
4) Coding the engine software or using an existing one e.g. UE4 which is basically extremely optimized 3D Renderer.
5) Building the level
6) Coding the controls, the overall scenes, level behavior, timings etc. ( The main part )
7) Creating User Interface and Design
8) Testing, Testing & Testing..
9) Releasing the game.
10) Still fixing and testing.
And you don't need good Math knowledge to do it all, but programming language is extremely useful.
Great video! I have a computer graphics course at my uni and I find the matrices and the math kinda hard understand. This made it easier to understand :)
I have to make a correction: in 0:35 you say “every 3D figure is made up of triangles of squares, also named quads”. That’s not true. Even if any rendering engine, realtime or not, can render any kind of polygon not depenging on the sides or vertices it has, at the time you see the result on the screen it has been converted to triangles. Why this? Because a triangle will always have a flat surface, doesn’t matter the way it’s vertices are, because the intersection plane between them is always flat. But since other figures have more than 3 vertices and the intersection plan of their vertices will not necessary result in a plat surface, this gets solved by making them internally composed by triangles. So, in fact, a quad is no other thing that two triangles stich together.
But, by the way, even if in rendering you always see triangles, quads are much more used in modelling because quads let you set the flow of the stripes of polygons
I approve of such knowledgeable nerdyness. I haz subscribed :)
Very intelligent. I loved the way you explained it!
I have been struggling with matrices for years and it was because it has had no purpose. I finally have a purpose for them and this will make it so much easier and keep me motivated for finally mastering this math.
Awesome video. Keep up the good work!
Thanks for the useful info. I've been working on a 3d Modelling app and this has helped me a lot.👍😁
Wow anne, this video slipped me by many years ago, and is super interesting and informative.
Great stuff! Loving this channel. :)
Great explanation of vertices. Thank you!
Such a wonderful explanation,
This was a pretty solid breakdown. I'll try to get some friends to watch it later, since I'm coming into this with an understanding already...
It's broken down into more digestible pieces than what I would have been able to :P
“Tea pods are the Hello World of graphics artists” 😂 😆 🤣 lol to that
And thats how yoi explain a complex subject. Kudos
Thank you! I've been referencing this video along with my old linear algebra textbook to create a rendering engine in Java.
You know what. They should use this example of how computer game graphics are rendered to provide context to and teach matrices and linear algebra. It will be 10x more exciting.
between the dark room with low lighting to your end rag doll ending in your school project.. to the warmage and control to the age of 30 you left me and so did he.. lol
This is channel is amazing. it's kinda sad that it's abandoned.
This was super informative. great video
you're a programmer? you just earn a new subscriber ;)
This video made cleared up the picture real well for me.
great video. i knew of little stuff here and there about graphics but it still didnt make any sense to me. this was enlightening
Hi! This was so informative and well explained. Highly useful for me as a beginner. Thank you :)
3:03 Up is y, z is sideways(perpendicular to screen in case of screen space)
My deepest condolences to everyone who had PTSD when Frampt showed up at the end.
Yeah,thanks to your explanation of the world rotating relative to the camera I'll never be able to look at a GTA game the same way ever again
Great video. Very well explained. Liked and Subscribed. Good luck with your channel
That means in another universe minecraft is triangle shape
Български Славянинъ no because minecraft doesn't actually uses 3D models i think, it's like a bad papercraft
Minecraft uses a certain kind of 3D graphics called voxels, which are cubes. While it may look blocky, that is simply because it uses very few voxels. If you use a few thousand, it can look very realistic. Many people are also saying that voxels are the future of 3D graphics, because they're cheap, and they can also be a realistic representation of atoms.
@@edk.2045 sort of, Minecraft uses opengl which does have a quads function, but more just to simplify triangles when you write in immediate mode, Minecraft is rendered in triangles and voxels aren't really a thing, it's just easier to talk about it as voxels but it doesn't have alot to do with the actual OpenGL rendering of anything.
@@Lalovoe not necessarily. DAGs are very useful for STORING complex geometry in a small size. Once you load it into memory along with an appropriate skeleton, you can pretty much deform it however you want, just like with polys.
Mind blown!! Pretty awesome video!! Thanks!!