Rim Lighting은 물체의 가장자리에 빛을 비추는 효과로, 실루엣에 빛나는 테두리처럼 보이게 만들어 형태를 강조하고 입체감을 살리는 데 사용한다.
구현 방법. 정점의 노멀 벡터와 카메라가 바로보는 방향벡터를 내적 했을 때 0에 가까울=수록 가장자리 부분이므로 이 성질을 이용해서 가장자리에만 추가 색을 부여한다.

색을 넣는 작업이기 때문에 PS 에서 적용한다.
cbuffer BasicPixelConstantBuffer : register(b0)
{
float3 eyeWorld;
bool useTexture;
Material material;
Light light[MAX_LIGHTS];
float3 rimColor;
float rimPower;
float rimStrength;
bool useSmoothstep;
};
PS 함수의 마지막에 Rim 효과 그대로 넣어주면 된다.
color += (1.f - dot(input.normalWorld, toEye)) * rimColor * rimStrength;

아래는 pow 와 smoothStep 을 이용해 가장자리를 더욱 선명하고 부드럽게 나타낸것이다. 그냥 pow 함수랑 smoothStep 함수 쓰면 됌


'DX' 카테고리의 다른 글
| 환경 매핑(반사 매핑) (0) | 2025.07.13 |
|---|---|
| 큐브 매핑 (0) | 2025.07.13 |
| 구 매핑 (0) | 2025.07.13 |
| Subdivision (0) | 2025.07.12 |
| 구체 만들기 (0) | 2025.07.12 |