[ Link to Video ]
Computers are made to be able to calculate equations instantaneously. The question was, how could we create art, images, and 3D worlds in a machine that’s mainly for calculating? Computer experts back in the day began to realize that math and science can both be used to do this. Math - specifically geometry, 3D coordinates, vectors, and matrices - can help with generating photorealistic imagery, along with computer science and programming, which involves rather advanced codes that the machine can understand. The study and understanding of these codes and commands can be difficult to break down, especially if you’re first starting out with the math and science involved (which is why there is such a great need for computer programmers and coding experts in jobs today). Fortunately, this video describes the use of computer codes in layman’s terms, for those who aren’t experts in this field.
Rasterization is taking a vector image (such as a simple triangle) and converting it into pixels and dots to display in a video, on paper after printing, or storing in a bitmap file format. Projections, which correspond with rasterization, is the presentation of an image on a screen. The computer can calculate a 3D object and it’s “light rays” that are sent towards an imaginary camera, aka the movie screen. This is how we can see the 3D object. On the other hand, ray casting (also called ray tracing) presents 3D images on a 2D display, by tracing the light paths through pixels on an image plane. This basically means that the light rays would be coming out from the imaginary camera to hit the objects, instead of the objects creating rays themselves. It’s an alternative process to rasterizing, and many game designers and programmers question if rasterizing will ever fully be replaced by ray casting. The problem is, ray casting is a lot more complicated than rasterizing, and usually takes a longer time to render objects completely.
The three major issues with rasterization was how to create shadows, reflections, and refractions. Fortunately, thanks to Turner Whitted, he designed a technique called “recursive ray tracing”, which makes primary rays come out of the camera, hitting the surfaces of the objects, which then turn into secondary rays. Shadow rays come into play by drawing a secondary ray into the lights (such as a light bulb or sun) that are in the 3D space. For reflections and transparent objects, we can simply draw a reflection ray, which can land onto other objects and reflect off of these objects onto others, and so on. This probably sounds incredibly complicated, but it’s actually quite simple if you understand how each ray can affect an object.
Even though the creation of shadows, reflections, and refractions in 3D space made an object look more real, we needed illumination to truly make it photorealistic. There are two kinds of illumination, direct and indirect. Direct illumination is when the light directly hits and is reflected by an object. Though, in the real world, if you were to hold a bright blue ball in your hand, you would see that the color would reflect onto your hand. This was difficult to show in 3D space, as ray tracing only focuses on the main source of light, instead of the light bouncing off of other objects and lighting up a 3D room. Indirect illumination added more realistic lighting into the 3D scene, and a man named James Kajiya built on the basics of ray tracing and created a mathematical equation based on the law of conservation of energy. This helped to bounce light off of more than one object. The trade off was that just because it didn’t handle transmission and sub surface scattering well, it was still a much better representation of light in reality.
Compared to the CGI of the 1960’s, 70’s, 80’s, and so on, today, I’m sure we can all agree, we now create beautiful and breathtaking images with CGI, but how are we able to accomplish this today? Moore’s Law explains how CGI has gotten much easier and faster to render over the past 20-30 years: “The number of transistors in a dense integrated circuit has doubled approximately every to years.” To balance out this law, Blinn’s Law was created, which states: “As technology advances, rendering time remains constant.” This basically means that the more technology improves, the more we throw at it, the more we ask it to render.
CGI, in my opinion, is very different from other kind of art forms, as it can take an extremely long time to master and understand the specifics, and it’s also the most complex and technical. Although other art forms can include the use of science and math, CGI really delves into the subjects, using advanced calculations that most people would never understand (like myself). Though, just like every form of art, it’s improving every day. People are finding new ways to create characters and worlds in 3D space, just like, for instance, pop music has changed immensely over the past 10 years, and artists have found more ways to be creative when it comes to their art. In conclusion, I believe it’s an amazing tool to use when it comes to storytelling and entertainment.
Rasterization is taking a vector image (such as a simple triangle) and converting it into pixels and dots to display in a video, on paper after printing, or storing in a bitmap file format. Projections, which correspond with rasterization, is the presentation of an image on a screen. The computer can calculate a 3D object and it’s “light rays” that are sent towards an imaginary camera, aka the movie screen. This is how we can see the 3D object. On the other hand, ray casting (also called ray tracing) presents 3D images on a 2D display, by tracing the light paths through pixels on an image plane. This basically means that the light rays would be coming out from the imaginary camera to hit the objects, instead of the objects creating rays themselves. It’s an alternative process to rasterizing, and many game designers and programmers question if rasterizing will ever fully be replaced by ray casting. The problem is, ray casting is a lot more complicated than rasterizing, and usually takes a longer time to render objects completely.
The three major issues with rasterization was how to create shadows, reflections, and refractions. Fortunately, thanks to Turner Whitted, he designed a technique called “recursive ray tracing”, which makes primary rays come out of the camera, hitting the surfaces of the objects, which then turn into secondary rays. Shadow rays come into play by drawing a secondary ray into the lights (such as a light bulb or sun) that are in the 3D space. For reflections and transparent objects, we can simply draw a reflection ray, which can land onto other objects and reflect off of these objects onto others, and so on. This probably sounds incredibly complicated, but it’s actually quite simple if you understand how each ray can affect an object.
Even though the creation of shadows, reflections, and refractions in 3D space made an object look more real, we needed illumination to truly make it photorealistic. There are two kinds of illumination, direct and indirect. Direct illumination is when the light directly hits and is reflected by an object. Though, in the real world, if you were to hold a bright blue ball in your hand, you would see that the color would reflect onto your hand. This was difficult to show in 3D space, as ray tracing only focuses on the main source of light, instead of the light bouncing off of other objects and lighting up a 3D room. Indirect illumination added more realistic lighting into the 3D scene, and a man named James Kajiya built on the basics of ray tracing and created a mathematical equation based on the law of conservation of energy. This helped to bounce light off of more than one object. The trade off was that just because it didn’t handle transmission and sub surface scattering well, it was still a much better representation of light in reality.
Compared to the CGI of the 1960’s, 70’s, 80’s, and so on, today, I’m sure we can all agree, we now create beautiful and breathtaking images with CGI, but how are we able to accomplish this today? Moore’s Law explains how CGI has gotten much easier and faster to render over the past 20-30 years: “The number of transistors in a dense integrated circuit has doubled approximately every to years.” To balance out this law, Blinn’s Law was created, which states: “As technology advances, rendering time remains constant.” This basically means that the more technology improves, the more we throw at it, the more we ask it to render.
CGI, in my opinion, is very different from other kind of art forms, as it can take an extremely long time to master and understand the specifics, and it’s also the most complex and technical. Although other art forms can include the use of science and math, CGI really delves into the subjects, using advanced calculations that most people would never understand (like myself). Though, just like every form of art, it’s improving every day. People are finding new ways to create characters and worlds in 3D space, just like, for instance, pop music has changed immensely over the past 10 years, and artists have found more ways to be creative when it comes to their art. In conclusion, I believe it’s an amazing tool to use when it comes to storytelling and entertainment.



No comments:
Post a Comment