Rendering
2015-12-29 23:01
387 查看
Rendering
This is a
smart resource.
Use a QR reader
or the
Aurasma
app to access additional content.
What is rendering?
Rendering is the name given to the process in three dimensional graphics whereby
a geometric description of an object is converted into a two dimensional image-plane representation that looks real. (Tucker 2005)
So what this means is taking the information stored on your hard drive or disc
and turning this into the graphics that you see on screen.
Rasterization
Rasterizing is widely used to render 3D games. This is due to the way it balances
the real time performance needed with the ability to create the pretty pictures we’ve come to expect from modern games. Basically, the way this works is the rasterizer looks at the thousands of triangles that make up the 3d scene and determines which will
be visible in the current perspective. With that information the engine then analyses the light sources along with some other environmental details to add light and colour to the pixels on each triangle. Here is an example comparing rasterization to a higher
end rendering method such as ray tracing;
Ray tracing
Ray tracing is a rendering technique that is capable of creating photorealistic
images from 3Dimensional scenes. The way it works is by calculating the path of every ray of light and following it through the scene until it reaches the camera. This means that ray tracing can create very accurate reflections and refractions.
In general terms ray tracing works by creating a ray for each pixel that will
be displayed on screen. Then the path of each ray is traced from the camera back through the scene to the original light source.
Here’s an example with a pig in a top hat which demonstrates how this works.
So in this example the screen is represented by the eye of the bloke sitting on
the stool. We then trace a ray of light back to the pig. But on the way this ray travels through the glass which cases the light to refract. Once the light gets to the pig this is the point at which the colour would have been calculated. We then follow the
ray further back to the light source, which in this case is provided by the lamp on the moles helmet. Again, the light travels through the glass on the way which add some more refraction. This happens for every pixel and for every light in the scene. This
means a lot of information needs to be calculated. For this reason ray tracing is not yet suitable for real time rendering.
Here’s an example of the type of image you can create when rendering using ray
tracing.
For more information look at The Art of 3D: Computer Animation and Effects By
Isaac V. Kerlow page 63 which is where the pig in the top hat example comes from.
Radiosity
Radiosity is a rendering technique that focuses on global lighting and works to
track the way that light spreads and diffuses around a scene. This is done in an attempt to simulate the effect of light bouncing around a room. This is a really good method for recreating natural shading. Have a look in the corner of any room or where the
walls meet the ceiling - you’ll notice that shadows tend to gather there. This is something that can be recreated really well using radiosity.
This example shows a scene rendered with and without radiosity. For more information
on radiosity look at 3D Computer Graphics: A Mathematical Introduction with OpenGL By Samuel R. Buss page 272.
Some of the rendering methods I’ve covered here could be used together to create
very detailed scenes that will run in real time. In games this can be achieve through the use of light maps. These are often used on the static elements of games such as terrain or architecture and they work by baking the lighting data straight onto the texture.
Below is an example of the level of detail that can be achieved using lightmaps;
Distributed rendering
For those using high end rendering methods the time taken to render can be a real
issue. For example a single frame from Toy Story 3 took 16 hours to render. With a little bit of quick maths (16 x 24 x 103 / 24 =) we can see that in order to render the whole movie using only one computer it would have taken 1648 days to complete. That’s
just over 4 and a half years. The solution for this is distributed rendering, also known as using a render farm. This involves sending the project to a ‘farm’ of networked computer which each render a small part of each frame. These parts are then sent back
to the host system which combines these pieces to create the whole frame. This dramatically reduces render time. Commercial render farms often have hundreds of these networked computers (or nodes) and they look like the example below;
The promotional video below explains how render farms work
This is a
smart resource.
Use a QR reader
or the
Aurasma
app to access additional content.
https://goo.gl/3UR5vR |
Rendering is the name given to the process in three dimensional graphics whereby
a geometric description of an object is converted into a two dimensional image-plane representation that looks real. (Tucker 2005)
So what this means is taking the information stored on your hard drive or disc
and turning this into the graphics that you see on screen.
Rasterization
Rasterizing is widely used to render 3D games. This is due to the way it balances
the real time performance needed with the ability to create the pretty pictures we’ve come to expect from modern games. Basically, the way this works is the rasterizer looks at the thousands of triangles that make up the 3d scene and determines which will
be visible in the current perspective. With that information the engine then analyses the light sources along with some other environmental details to add light and colour to the pixels on each triangle. Here is an example comparing rasterization to a higher
end rendering method such as ray tracing;
Ray tracing
Ray tracing is a rendering technique that is capable of creating photorealistic
images from 3Dimensional scenes. The way it works is by calculating the path of every ray of light and following it through the scene until it reaches the camera. This means that ray tracing can create very accurate reflections and refractions.
In general terms ray tracing works by creating a ray for each pixel that will
be displayed on screen. Then the path of each ray is traced from the camera back through the scene to the original light source.
Here’s an example with a pig in a top hat which demonstrates how this works.
So in this example the screen is represented by the eye of the bloke sitting on
the stool. We then trace a ray of light back to the pig. But on the way this ray travels through the glass which cases the light to refract. Once the light gets to the pig this is the point at which the colour would have been calculated. We then follow the
ray further back to the light source, which in this case is provided by the lamp on the moles helmet. Again, the light travels through the glass on the way which add some more refraction. This happens for every pixel and for every light in the scene. This
means a lot of information needs to be calculated. For this reason ray tracing is not yet suitable for real time rendering.
Here’s an example of the type of image you can create when rendering using ray
tracing.
For more information look at The Art of 3D: Computer Animation and Effects By
Isaac V. Kerlow page 63 which is where the pig in the top hat example comes from.
Radiosity
Radiosity is a rendering technique that focuses on global lighting and works to
track the way that light spreads and diffuses around a scene. This is done in an attempt to simulate the effect of light bouncing around a room. This is a really good method for recreating natural shading. Have a look in the corner of any room or where the
walls meet the ceiling - you’ll notice that shadows tend to gather there. This is something that can be recreated really well using radiosity.
This example shows a scene rendered with and without radiosity. For more information
on radiosity look at 3D Computer Graphics: A Mathematical Introduction with OpenGL By Samuel R. Buss page 272.
Some of the rendering methods I’ve covered here could be used together to create
very detailed scenes that will run in real time. In games this can be achieve through the use of light maps. These are often used on the static elements of games such as terrain or architecture and they work by baking the lighting data straight onto the texture.
Below is an example of the level of detail that can be achieved using lightmaps;
Distributed rendering
For those using high end rendering methods the time taken to render can be a real
issue. For example a single frame from Toy Story 3 took 16 hours to render. With a little bit of quick maths (16 x 24 x 103 / 24 =) we can see that in order to render the whole movie using only one computer it would have taken 1648 days to complete. That’s
just over 4 and a half years. The solution for this is distributed rendering, also known as using a render farm. This involves sending the project to a ‘farm’ of networked computer which each render a small part of each frame. These parts are then sent back
to the host system which combines these pieces to create the whole frame. This dramatically reduces render time. Commercial render farms often have hundreds of these networked computers (or nodes) and they look like the example below;
The promotional video below explains how render farms work
http://goo.gl/IePNtG |
相关文章推荐
- 3D设计 Adobe Acrobat 3D 8.1.0 英文版 下载
- jquery带翻页动画的电子杂志代码分享
- jquery 3D 标签云示例代码
- jQuery+CSS3实现3D立方体旋转效果
- jquery实现叠层3D文字特效代码分享
- Android编程实现3D滑动旋转效果的方法
- 一个很有趣3D球状标签云兼容IE8
- javascript实现3D变换的立体圆圈实例
- JS实现3D图片旋转展示效果代码
- js实现3D图片逐张轮播幻灯片特效代码分享
- Ubuntu 3D 桌面
- CSS3中3D综合应用及分析
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏
- Unity3D上路_03-塔防游戏
- Unity3D上路_04-基础资源介绍
- Unity3D上路_05-网络相关
- 3D游戏从头编之D3D(1)
- ujjval panchal blog
- 大话3D