2025/04 3

[Noise] Fractal Brownian Motion - Perlin Noise

자연현상을 묘사하기 위해, 우리는 펄린노이즈라는 노이즈를 사용합니다. 그냥 랜덤함수만 사용하면 너무 규칙적이기 때문에 자연현상과 너무 다르기 때문이죠. 이번에는 들판의 잔디같은 것들을 컴퓨터 그래픽스에서 어떻게 움직일 수 있는지에 대해 이해해보겠습니다. 잔디는 파동 형태로 흔들리게 할 수도 있죠. 파동의 중요한 특성은 두가지가 있는데 진폭과 주파수입니다float amplitude = 1.;float frequency = 1.;y = amplitude * sin(x * frequency); 좀 더 이것저것 합친 파형을 만들기 위해선 파동을 합칠 수 있습니다. 물리학 시간에 배웠을 수도 있는데요. 이를 superposition(중첩)이라고 합니다. 파동들을 더하면 다음과 같은 모양이 될 수도 있습니다. f..

[Physically Based Rendering] IBL과 Directional Light 구분

PBR [Physically Based Rendering]은 두 가지 방식으로 조명을 사용합니다. 1) Directional, Point, Spot같은 직접 조명2) IBL[Image Based Rendering], 주변 환경맵을 통한 조명 둘의 공통점과 차이점을 이해하기 위해 다음 식을 살펴봅시다. 일단 첫번째로 조명은 Diffuse와 Specular부분으로 나뉩니다. 직접 조명도 그렇고 IBL도 그렇죠kd*c / 𝝅는 DIffuse부분입니다. 그 뒤 DFG/4( ω 0 ㆍ n * ω i ㆍ n )는 Specular부분입니다. 식을 Cook Torrance Model이라고 하죠. pbr적용시 에너지 보존법칙이 성립해야 하는데 kd+ks=1 이어야 한다는 점입니다. Cook Torrance Mod..

Graphics Techniques 2025.04.14

[Tone Mapping] Gamma correction과 CRT

HDR이미지는 밝기를 0.0~1.0으로만 표현하면 다양한 빛의 밝기를 표현하지 못합니다. 따라서 16float형식이나 32float형식을 사용합니다. 16float의 범위는 약 0.0~65504.0입니다. 보통 skybox같은 이미지에 태양이 있기 때문에 skybox를 16float으로 설정합니다. LDR이미지는 모니터에 표현되는 값을 위해 0.0~1.0의 값으로 정규화 되어있습니다. 그렇다면 HDR이미지를 잘 계산한 후 LDR이미지로 변환해주는 것이 필요하겠죠? 이 과정을 톤 매핑이라고 합니다. Unity에서는 톤매핑의 정의를 다음과 같이 표현하기도 합니다."톤 매핑(Tonemapping) 은 일반적으로 컬러 값을 HDR에서 LDR (low dynamic range)로 매핑하는 과정입니다. 이는 대부분..

Graphics Techniques 2025.04.09