Unity/Shader
[5.6] Light 연산 정리
ljw4104
2021. 5. 6. 12:27
- 텍스쳐 한 장 받는 Shader 생성
- 라이트 이름 설정 : Test
- Lighting + Test 이름으로 함수 선언, 반환 타입은 float, 매개변수는 SurfaceOutput, float3 lightDir, float atten
- Lambert 공식 : 표면벡터와 조명벡터를 내적 => Option : 내적값에 saturate → 0~1까지 표현
- 그 값을 Return
- Half-Lambert 공식 : 4번의 것을 saturate하지 않고 내적의 값에 *0.5 +0.5한 값 Return
- Lighting 함수 안에서 SurfaceOutput값 사용가능. ex) s.Albedo, s.Alpha...
- _LightColor0 : 조명의 색상, 강도가 저장된 내장변수
- 감쇠의 Test는 Point Light로 테스트를 하여야됨. (Range를 낮추고)