Search This Blog

Sunday, September 25, 2011

Rendering techniques

Rendering techniques

Rendering algorithm들은 하나의 방법이 아닌 결합된 방법들이 많이 사용된다.

실제로 모든 빛의 입자를 추적하는 것은 완전히 불가능하며 엄청난 시간을 요구한다.

따라서, 4가지 효율적인 light transport modeling technique으로 나눌 수 있다.
1. Rasterization, including scanline rendering (object projection to an image plane)
2. Ray casting (특정 시점에서 scene을 rendering하며 Monte Carlo technique이 고려되기도 함)
3. Ray tracing (Ray casting하고 비슷하며 advanced optical simulation을 채용하며 Monte Carlo simulation을 고려함)
4. Radiosity (광원을 떠나서 표면을 비추는 빛의 경로를 계산하는 기법으로 위 3가지 기법을 통하여 표현됨)

종종 2개 이상의 기법이 결합되어 사용됨

또다른 구분법으로 pixel 단위로 rendering하는 image order algorithm과 object 단위로 rendering하는 object order algorithm으로 나눌 수 있으며, 하나의 scene에는 종종 적은 object들만이 포함되기 때문에 object order algorithm이 좀 더 효율적인 것으로 알려져 있음

1. Scanlien rendering and rasterization

Rasterization은 각 primitive (polygon) 단위로 계산하며 영향받은 pixel의 color를 계산하는 방법으로 현재 graphic card에서 사용되는 방법이다. Rasterization은 pixel-by-pixel rendering보다 빠르다. Pixel-by-pixel은 image에 대한 의존성이 없기 때문에 종종 higher quality image를 만들 수 있다.

오래된 형태의 rasterization은 face를 단일 color로 rendering하였다. 또는, vertices를 먼저 rendering한 다음에 각 vertices의 color를 blending하여 color를 rendering하는 방법도 있다.

2. Ray casting

Ray casting에서 geomatery는 시점에서 ray를 casting한 것처럼 geometry를 pixel-by-pixel이나 line-by-line으로 해석한다. Ray가 object를 intersect할때, color value가 결정되는데 이것은 texture-map 또는 illumination factor에 따라 결정되지만 복잡한 light transport를 계산하지는 않는다.

Color 결정을 위한 algorithm으로는 다음과 같다.
Simple calculation of the ray from the object to the point of view
Angle of incidence of light rays from the light source
Radiosity algorithm에 의한 illumination map

Ray casting은 기본적으로 3D computer game과 같은 detail이 중요하지 않은, realtime simulation을 위한 것이다. 결과물은 종종 matte finish를 한듯 한 'flat' appearance를 보인다.

3. Ray tracing

Ray tracing은 light flow를 simulation한다. Rendering equation을 approximation하기 위해 Monte Carlo method를 사용한다. Path Tracing, Bidirectional Path Tracing, Metropolis light transport, 그리고 Whitted Ray tracing이 있다.


Ref. http://en.wikipedia.org/wiki/Rendering_(computer_graphics)#Techniques

No comments:

Post a Comment

Blog Archive