Loading...
2017. 10. 19. 09:33

PBS, PBR이란 무었인가?

Physically Based Rendering/Shading은 무었인가?PBR은 단순하게 말해 물리 현상을 기반으로 그리는 기법이다.물리현상을 기반으로 한다는 것은 어떤 말일까?물체가 우리눈에 비춰지기 위해서는 첫번쨰로 빛(Light)이 필요하고 이 물체가 빛을 받을 때어떻게 보이는지는 물체의 재질에 의해 결정된다.결국 PBR이란 빛과 재질을 기존 보다 좀 더 물리적으로 현상에 맞게 구현한 것이라고 보면 된다. 기존 방식의 렌더링은 어떤식이었는가?적당한 물리법칙에 적당한 느낌을 내기 위한 적당한 보정 (적당한 수식).기본적으로 3D 물체처럼 보이기 위해 필요한 것은 음영이며 이 음영을 결정짖기 위해 필요한 것이빛(라이팅) 정보인데 빛을 적당히 시뮬레이션 하기 위해서 분류를 하자면 간접광(ambient ..

피부는 왜 피부처럼 보이는가? 4

links - 피부는 왜 피부처럼 보이는가? 1 : http://mgun.tistory.com/1545 - 피부는 왜 피부처럼 보이는가? 2 : http://mgun.tistory.com/1557 - 피부는 왜 피부처럼 보이는가? 3 : http://mgun.tistory.com/1558 이전 글에서 RDP에 따른 블러를 실시해야 한다고 말했었다. 이 블러는 어떻게 해야 하는가? - 3d 표면을 펼친 텍스처 좌표 사용 - 블러를 수행하기 위해 이 형태를 사용 - 텍스처 매핑을 한 이후에 다시 사상 - 이를 텍스처 공간 확산이라고 부른다. GPU gems 1. Chapter 16. Real-Time Approximations to Subsurface Scattering link : http://http.d..

피부는 왜 피부처럼 보이는가? 3

links - 피부는 왜 피부처럼 보이는가? 1 : http://mgun.tistory.com/1545 - 피부는 왜 피부처럼 보이는가? 2 : http://mgun.tistory.com/1557 복잡해 지는 과정으로 넘어가기 전에 여태까지온 길을 되짚어 보자. 피부를 표현하기 위한 노력. 1. 단순히 피부색의 텍스처를 붙여 확산반사 라이팅을 한다. (값싼 방법이지만 플라스틱처럼 보인다.) 2. Half Lambert Lighting (물리적으로는 맞지 않지만 부드러운 음영이 나온다.) 평준화. pow 연산. 3. Half Lambert Lighting + Phong Specular Lighting. (하프라이프2 에피소드1에서 사용. N과 L 이외에 E방향도 고려. 피부에 한결같이 specular을 적..

2013. 12. 13. 17:48

피부는 왜 피부처럼 보이는가? 2

links - 피부는 왜 피부처럼 보이는가? 1 : http://mgun.tistory.com/1545 이전글의 내용은 기존 렘버트 만으로는 피부 질감을 내기 어려워서 어두운 부분의 영역을 들어 올려 부드럽고 전체적으로 밝아지는 Half Lambert를 만들었고 여기에 원하는 피부의 부분에 원하는 만큼의 광택을 주기 위해 Specular Exponent와 Specular Mask를 추가해서 하이라이트 반사를 표현 한다는 내용이었다. 그런데 사실 이러한 내용들은 가짜 피부를 어떻게 하면 그럴 듯 하게 보일까 하는 일종의 꼼수이다. 즉, 피부의 특성을 고려하지 않고 대략적인 값으로 그럴듯 하게 보이도록 한 것이다. 그렇다면 실제 피부는 어떤 특성을 가지는가?? 피부란 위와 같은 모습을 하고 있다. 의학 서적..

2013. 12. 2. 11:01

피부는 왜 피부처럼 보이는가? 1

물, 메탈, 그림자 이후 피부 시리즈이다. 물 관련 포스트는 아래 포스트를 참조하면 된다. 앞의 글 참조 1. http://mgun.tistory.com/1282 2. http://mgun.tistory.com/1294 3. http://mgun.tistory.com/1304 4. http://mgun.tistory.com/1306 5. http://mgun.tistory.com/1351 6. http://mgun.tistory.com/1368 (비공개) 꽤 오래동안 쓴 물 관련 시리즈물인데 6번째 글이 비공개인 이유는 아직 쓰고 있기 때문이다. 마지막 글은 계속해서 추가되는 공부와 자료들로 늘 계속해서 이어질 수 있도록 비공개로 둔다. 메탈, 그림자 관련 강좌 시리즈도 아직 비공개인 이유는 아직 정리가..

Depth Of Field 2 (Advanced DOF)

이전 글 참고 : http://mgun.tistory.com/1388 이전글에 이어서 Advanced Depth Of Field를 언급한다. Depth of Field의 구현. 1. destination alpha(출력 알파) 채널에 per pixel depth와 blurriness 정보를 저장한다. 2. post processing을 위한 pixel shader . a. 이미지를 downsample해서 pre blur한다. b. COC 근사치를 위해 다양한 크기의 필터커널을 사용한다. c. 더 나은 이미지 품질을 위해 원본과 pre blurred한 이미지를 섞는다. d. 또렷한 전경값이 블러 원경으로 쓰이는 것을 측정해서 방지한다. 위의 내용이 핵심이다. 이 개념을 실제로 옮겨 보자. 1. destin..

2013. 3. 21. 11:57

행렬

행렬이란 무었인가? 벡터를 움직이는 것. 행렬을 사용하면 벡터의 방향이나 크기를 바꿀 수 있다. EX) x축 방향을 향하고 있는 벡터가 아래의 행렬을 통해 방향을 바꾸는 모습을 볼 수 있다. [0, -1, 0] [1] [0*1 + -1*0 + 0*0] [0] [1, 0, 0] * [0] = [1*1 + 0*0 + 0*0] = [1] [0, 0, 1] [0] [0*1 + 0*0 + 1*0] [0] x축을 향하던 벡터가 행렬과 연산된 후 y축을 향하는 것을 볼 수 있다. 행렬의 내용은 대략 위의 사진과 같고 행과 열을 같을 경우 정방행렬이라고 한다. 정방행렬로 벡터를 변환하면 벡터의 차원이 변함없기 때문에 컴퓨터 그래픽에서 정방행렬을 많이 사용한다. 행렬을 사용하여 벡터를 움직이는 것은 행렬의 각 열을 벡터..

2013. 3. 18. 11:14

Depth Of Field 1 (Simple DOF)

Depth Of Field - 한국어로 피사계 심도(한국어가 더 어려운...)라고 한다. 원래 사진술 관련 용어로서 한장의 사진에서 초점이 맞은것으로 인식되는 범위. 즉, 실제 사진에서 초점면을 중심으로 서서히 흐려지는 현상이 발생하는데 이때 충분히 초점이 맞은것으로 인식되는 범위의 한계를 피사계 심도라고 한다. 그렇다면 이 DOF(피사계심도, Depth Of Field)에 영향을 주는 것은 어떤것이 있는가? 1. 조리개 값 조리개는 간단히 말해 빛의 양을 조절한다. 렌즈를 통해 카메라로 빛이 유입되는 통로의 폭을 결정하는데 당연히 그 폭이 넓을 수록 보다 많은 빛이 유입되고, 빛이 많이 유입될 수록 DOF에 미치는 영향력도 커진다. 조리개값이 작을 수록 DOF가 얇아진다. 위 사진은 작은 조리개값을 사..