Monday, June 20, 2011

Two important notes for shading:'Surface Reflectance Recognition and Real-World Illumination', and 'Making Shaders More Physically Plausible

Surface Reflectance Recognition and Real-World Illumination:
http://ssg.mit.edu/ssg_theses/ssg_theses_2000_2009/Dror_PhD_8_02.pdf

Making Shaders More Physically Plausible:
http://www.tricity.wsu.edu/cs/boblewis/pdfs/1993_plausible.pdf

Illumination shading models에 관심이 있다면 위의 두 노트는 /반/드/시/ 읽어야 할 목록이 될 것이라 본다. 1993년에 쓰여진 두번째 노트는 이제서야야 ILM을 선두로 바꾸기 시작한 Physically-based shading models in terms of Energy Conservation에 대한 토대가 된 노트이다. 듣기로는 이번 RenderMan Pro Server 16.0에도 추가 된 것으로 알고 있는데 앞으로 거의 모든 Renderer들의 energy conservating shading model의 형태로 발전 되어 진다는 것에 의심의 여지가 없다고 본다. 아쉽게도 이 노트는 너무 원리 위주의 수학적 풀이로만 설명해 나서 보다 쉽게 설명한 'Crafting Physically Motivated Shading Models for Game Development' by Naty Hoffman와 같이 보는게 좋을 것 같다. 사실 기존의 phong, blinn에서의 specular BRDF 방식과 a normalization factor를 사용한 Energy Conservating shading models에서 수학적 계산의 차이는 그리 크지 않아 보인다.

우리의 무지에서 못 쓰고 있었던 것이 분명한 것 같은데.... 17년전부터 Robert Lewis가 고치라고 얘길 했건만.... 이유는 아티스틱 관점의 작업 방식이 주를 이르며 만든 그럴 듯한 결과물에 만족해 왔었고 low dynamic range가 illumination 시작점부터 rendering equation을 지배 했었기 때문에 골치 아프게 쓸 필요성을 못 느끼고 있었던 것이다. 지금같이 반토막짜리이긴 하지만 HDRI를 input의 한 영역으로 쓰는 이 시대에선 아티스틱 방식으로 풀기에는 오류의 범위가 점점 커져 가기 때문에 점점 이슈가 되어가는 것이다. 당연 과학적인 접근 방식이 전적으로 필요로 한 부분이라는 것을 명심하길 바란다.

Monday, June 6, 2011

Visualizing the XYZ Color Space by Sony imageworks

http://www.youtube.com/watch?v=x0-qoXOCOow&feature=BFa&list=FLq3PIgs1JABA&index=19

Color space의 standard는 RGB-based가 아니다. RGB color space는 final output for a display를 위한 것이지만 아이러니하게도 다루기 편하고 직관적이라는 이유로 지금 거의 모든 2D뿐만 아니라 3D CG imaging systems을 장악하고 있다. 게다가 사무용 컴퓨터 모니터에 맞춰 HP와 MS에 의해 표준화된 sRGB의 무서운 보급은 알게 모르게 우리가 그 좁은 color gamut에 놀아 나게 된다는 것이다. output-referred RGB color space 상황에서 작업의 최대 단점은 터치를 하면 할 수록 realistic look에서 멀어져만 간다는 것이다. 이유인즉, 이미 칼라로써 고유의 빛 성질을 잃어버려 display에 맞춰 mix 되어 버린 최종 output용 color values이기 때문이다. 다시말해 위해서 말했듯이 output-referred, 혹은 device-dependance이기 때문이다. 후반작업에 있어 아트스트들의 무모한 열정에 적절한 제한이 필요한 이유이기도 하다.

예를 들면, 흔히 photoshop 혹은 typical compositing tools 같은 RGB color space based에서 contrast를 조절하는 방식이 잘 못 되어 있다면 믿을 수 있겠는가? illumination 관점에서 contrast는 light photon의 총 amount를, 즉 luminance value의 range만을 특정한 중간값을 기준으로 줄여 만들어야 하지만 RGB color space에서는 RGB values 전부를 동시에 바꾸므로 color의 saturation 까지 영향을 받게 만드는 것을 쉽게 볼 수 있다. 게다가 sRGB상태라면 숨은 gamma 값까지 영향을 끼칠 것이다.

반면 CEI XYZ color space는 absolute device-independance로 color spaces의 standard라고 볼 수가 있겠는데 특히 우리 눈이 볼 수 있는 color gamut 전 영역을 표현 할 수 있고 다른 color space로 conversion이 쉽다는 장점이 있다. 특히 또한 spectral energy가 RGB color로 전환시에 생기는 negotive color values에서 자유롭고, 그리고 output-referred representations가 아닌 scene-referred라는 것. 이런 저런 이유에서 color enhancement가 요구되는 후반작업시, 특히 color grading for digital film 작업시  RGB color space 보다 효율적인 작업 환경이 아닌가 싶고 몇몇 하이엔드급 툴들과 거의 모든 digital camera의 image processing은 XYZ color space를 쓰고 있는 것으로 알고 있다.