Graphics/Graphics Study 자료
-
Physically-Based Cosmetic RenderingGraphics/Graphics Study 자료 2020. 9. 9. 04:17
Physically-Based Cosmetic Rendering 최초작성 : 2020-09-09마지막수정 : 2020-09-09최재호목표Physically-Based Cosmetic Rendering를 이해하고 실제 구현해봅시다. 내용아직 정리할 시간이 부족해서 결과물을 먼저 남깁니다.추후에 설명을 추가할 예정입니다. 논문에 아래 식에 오타가 있으니 수정해야 함. 영상1. 3층 Layer의 Cosmetic 최종 결과 구현 코드 github.com/scahp/Shadows/tree/Physically-based-cosmetic 레퍼런스1. Huang, C.-G., Huang, T.-S., Lin, W.-C., & Chuang, J.-H. (n.d.). Physically-based Cosmetic Rend..
-
Accurate atmospheric scatteringGraphics/Graphics Study 자료 2020. 9. 1. 06:15
Accurate atmospheric scattering 최초작성 : 2020-09-01 마지막수정 : 2020-09-01 최재호 목차1. 목표 2. 사전지식 3. 내용 3.1. The Phase Function 3.2. The Out-Scattering Equation 3.3. The In-Scattering Equation 3.4. 구현을 위해 필요한 추가 식 (논문에서 가져옴) 4. 실제구현 5. 구현결과 6. 실제구현 코드 7. 레퍼런스 1. 목표이 글은 GPU Gems2 의 16번째 챕터 Accurate Atmospheric Scattering를 이해하고 구현해보는 것이 목표입니다. 2. 사전지식처음 이 챕터를 읽었을 때, 흡수와 산란에 대한 기본 개념이 없어서 이해하는데 많이 어려웠습니다. 이..
-
Perspective Shadow Map (PSM)Graphics/Graphics Study 자료 2020. 8. 5. 00:24
Perspective Shadow Map 최초작성 : 2020-08-05 마지막수정 : 2020-08-06 최재호 Updated 2020-08-06 : Regular와 Inverse Perspective Matrix를 설명하는 Graph를 추가 (추가그림1, 2, 3) 목차 1. 목표 2. 내용 2.1. PSM이 나온 동기 2.2. 기존 SSM과 차이점 2.3. PostPerspective 공간에서의 Light 방향의 변화 2.4. Potential ShadowCaster 2.5. Depth Precision 그리고 Near Plane 2.6. Depth Precision 올리기 2.7. Perspective Projection Matrix Tricks 3. 실제구현 4. 구현결과 5. 실제구현 코드 6..
-
Cascade Shadow MapGraphics/Graphics Study 자료 2020. 7. 10. 14:21
Cascade Shadow Map 최초작성 : 2020-07-10마지막수정 : 2020-07-10최재호목표Cascade Shadow Map에 대해서 이해하고 실제 구현해봅시다. 내용SSM을 사용하는 경우 쉐도우맵으로 충분한 쉐도우 해상도를 얻을 수 없습니다. 아래 그림을 봐주세요. 쉐도우의 품질을 높이는 가장 쉬운 방법은 쉐도우맵 텍스쳐 사이즈를 키우는 것입니다. 하지만 장면이 아주 크다면 아무리 큰 텍스쳐 사이즈를 사용하더라도 전체 장면을 한장의 쉐도우맵에 담기는 어려울 것입니다. 담을 수는 있겠지만 충분한 해상도를 얻을 수 없을 거구요. CSM(Cascade shadow map)은 Camera의 View Frustum을 특정 수의 슬라이스로 나눠서, 각각의 슬라이스 크기에 딱 맞는 Shadow Map..
-
VolumeLightGraphics/Graphics Study 자료 2020. 6. 24. 09:26
VolumeLight 최초작성 : 2020-06-02 마지막수정 : 2020-06-24 최재호 목표 [Nvidia]VolumeLight 번역 의 구현을 이해해봅니다. 내용 이 문서를 한번 정도 읽었다고 가정하고 진행되므로 [Nvidia]VolumeLight 번역를 읽어보시길 권장 합니다. 분석할 코드는 Nvidia 홈페이지 코드로 진행했습니다. Nvidia 코드 OpenGL 을 기준으로 작동할 수 있도록 변경하였습니다. 코드를 보면 사용되는 렌더타겟과 렌더링 패스가 상당히 많습니다. 이 부분을 먼저 이해하는 것이 이해를 더 쉽게 해주기 때문에 먼저 내용을 보겠습니다. 렌더패스는 Git에 올려둔 코드에 똑같은 번호가 붙어있어서 참고하시면 됩니다. [기본 정보] 메인 렌더타겟 크기 SCR_WIDTH, SCR..
-
Forward Plus RenderingGraphics/Graphics Study 자료 2020. 5. 26. 19:29
Forward Plus Rendering최초작성 : 2020-05-26마지막수정 : 2020-05-27최재호목표Forward+ rendering 을 이해하고 구현해봅시다. 내용포워드 플러스 렌더링은 Tiled forward rendering과 동일한 방식입니다. 기본적인 아이디어는 아래와 같습니다.이전에 소개한 Tile forward rendering을 보고싶다면 여기를 눌러주세요. 1. 화면을 정사각 크기의 타일들을 나눕니다.2. 타일과 겹치는 라이트들을 타일에 기록해둡니다.3. 라이팅 패스에서 현재 픽셀의 위치를 기반하여 어느 타일에 위치한지 알아냅니다. 그리고 현재 타일에 겹쳐지는 라이트만을 사용하여 라이팅 처리를 진행합니다. 위의 구현에서 기대하는 점은 픽셀당 연산처리 해야할 라이트의 개수를 줄여..
-
PCSS(Percentage-Closer Soft Shadow)Graphics/Graphics Study 자료 2020. 5. 22. 00:19
PCSS(Percentage-Closer Soft Shadow)최초작성 : 2020-05-22마지막수정 : 2020-05-22최재호목표PCSS 구현의 이해와 실제 구현 내용PCSS는 PCF의 확장입니다. PCF가 모든 쉐도우의 Edge에서 균일한 크기로 Soft Shadow를 만들었다면, PCSS의 경우는 Shadow Caster와 Receiver의 거리에 기반하여 PCF를 처리할 반경에 변화를 주는 것입니다. 그림자의 종류PCF에 들어가기전에 Shadow 영역에 대해서 알아봅시다.PCF 이전에 Hard Shadow의 경우 그림1에서 Umbra 부분에 해당합니다.그리고 PCF의 Soft Shadow 영역은 Penumbra 를 흉내낸 것인데, 이 부분을 좀 더 잘 처리되도록 다루려고 하는 것이 PCSS의 ..
-
Tiled Forward RenderingGraphics/Graphics Study 자료 2020. 5. 12. 18:29
Tiled Forward Rendering 최초작성 : 2020-05-12 마지막수정 : 2020-05-27 최재호 목표 Tiled Forward Rendering 의 알고리즘과 구현 이해 내용 Tiled Forward Rendering은 포워드 렌더링에서의 라이팅 연산을 줄이기 위한 방식입니다. 이름 그대로 렌더링 방식은 포워드 렌더링과 동일하지만 각 픽셀별로 적용할 라이팅의 개수가 줄어드는 점이 차이점입니다. 렌더링 과정을 간단히 요약하자면 아래와 같습니다. 1. 화면을 NxN 타일 크기로 나누고, 타일과 교차되는 Light 들을 각 타일에 할당합니다. 2. 실제 오브젝트를 렌더링할때, 현재 픽셀이 어느 타일에 포함되는지 찾고, 찾은 타일에 포함되어있는 라이트들을 가져와 현재 픽셀에 적용합니다. Ti..