Icing
|
So web servers have to wait a while. I’ve been making more progress on another assignment. This time around we have been fortunate enough to work on a 3D engine. My assignment is to make a 3D game with a partner. To be honest, most of the code has already been written before in different versions and most of the underlying systems have been pre-written before we even touched this assignment which made this assignment so much easier. So what I am going to talk about is the systems. This is to make sure I myself understand them correctly so if you guys find anything badly written please comment below =) So this is the way we are writing our engine. The renderer systems is all but done and given to us before the assignment. Same goes for most of the resources. The Front-End was taught and the scene as well. A state management system was also beautifully written and given to us. Most of them haven’t been connected properly though. Some are just created and not even implemented correctly though and the funny thing is we got some of the code rewritten(parameters were changed order) in order for us to NOT copy code. A super villain couldn’t have done it better. So, most of our lectures have been about creating a camera, a texture, shader, buffer, a triangle, square, box, height map, moving the camera(or the world!) and understanding the fundamental part of how to construct a 3D world. Its beautifully thought out in my opinion. As I see it you create a system that’s connected to each other more advanced for my mouse brain at the moment. You start by creating a window, like opening your eyes. Then you provide them with color by giving the world a background. You then create a parameter for your eyes, now you are allowed to move your head but there is an underlying fact here. You aren’t moving the camera throughout the world you just created, you are simply moving the world while the camera is still, neat huh? After this mind blowing fact you start by creating the easiest geometric form possible with dots or vertexes(vertices’s), the triangle. By combining different triangles you can create the geometric shape you need from there on out. Connecting the vertexes together to minimize the amount of dots and now you have a beautiful box, add some texture, shader and buffer and boom, its a box! Now lets say you create tons of boxes all around your camera. What would be the easiest and most efficient way to make sure the computer isn’t working its ass off to make sure these boxes are being rendered and updated all the time? You create a scene! much like a theater a scene is everything your looking at or what the camera perspective is looking at. Most of the hidden materials are already around you, you just aren’t looking there. So when you move your scene to the left some boxes stop rendering and the others takes their on the scene! Beautifully thought out and most efficient when you got a 2 square km area filled with objects and your in the middle of it. This is called culling and scene management. Now I will write the rest later today on another post as I am obliged by the course to do so.
Cheers. |
