빨,녹,파(RGB)
Float3(1.0,1.0,1.0) - 힌색 / Float3(0.5,0.5,0.5) - 회색 / Float3(0.0,0.0,0.0) - 검정색
Float3(1.0,0.0,0.0) - 빨간색 / Float3(1.0,1.0,0.0) - 노란색
영어 대/소문자 |
|
괄호는 반드시 닫는다. |
|
띄어쓰기와 엔터는 의미가 없다. |
|
세미콜론은 엔터의 의미. |
|
A = B |
같다는 의미가 아니라 B가 A안에 담긴다는 뜻이다. |
변수 |
변하는 수 (데이터를 담아놓는 상자) |
B가 변수이다. |
|
Surface shader로 작성한다. |
vertex & Fragment shader는 코딩을 배워서 해야한다. |
서피스 쉐이더 |
cg 쉐이더 코드를 이용한다. |
Unlit |
라이팅연산이 없는 쉐이더 |
lerp함수 |
o.Albedo =lerp(c.rgb, d.rgb, 0.5); |
"노란색으로 출력 |
ㅁ |
float ndotl = saturate(dot(s.Normal, lightDir)) |
saturate 함수는 0보다 낮은 값은 0으로 1보다 높은 값은 1로 |
//float ndotl = max(0.2,dot(s.Normal, lightDir)); |
//max 한쪽의 값을 0.2으로 하면, 0.2보다 작은 다른쪽 값을 무조건 0으로 출력 |
//float ndotl = dot(s.Normal, lightDir)*0.5+0.5; |
// halp Lambert 연산 만들기 |
o.Emission = pow(1- rim, 3); |
그래서 pow(exponet, 지수)를 써서 그래프가 산모양으로 되게 만들어서 |
viewDir |
// 버텍스가 카메라 방향을 보는 방향 |
PR |
photo realistic |
NPR |
Non photo realistic |
cull front |
면 앞을 날림 |
cull back |
면 뒤를 날림 |
cull off |
2 side |
2pass |
오브젝트를 두번그리는것 |
vertex shader |
버텍스를 변환 제어 쉐이더 |
pixel shader |
화면 출력될 픽셀의 컬러를 결정하는 쉐이더 |
ceil |
올림으로 소수점이 있는 숫자를 정수로 만들어준다. |
'Unity > Surface Shader' 카테고리의 다른 글
texture (0) | 2020.05.16 |
---|---|
CGPROGRAM03 (0) | 2020.05.16 |
CGPROGRAM02 (0) | 2020.05.16 |
CGPROGRAM01 (0) | 2020.05.16 |
Propeties (0) | 2020.05.16 |