빨,녹,파(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);
|
|
|
"노란색으로 출력
+ 는 add 로 포토샵의 Liner Dodge와 같다. * 는 Multipy 이다."
|
ㅁ
|
|
|
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); spec = pow(spec,_SpecPow);
|
그래서 pow(exponet, 지수)를 써서 그래프가 산모양으로 되게 만들어서 림 굵기를 얇게 하는것이다.
pow연산은 비교적 무겁다.
|
|
|
viewDir
|
// 버텍스가 카메라 방향을 보는 방향
|
|
|
PR
|
photo realistic
|
NPR
|
Non photo realistic
|
|
|
cull front
|
면 앞을 날림
|
cull back
|
면 뒤를 날림
|
cull off
|
2 side
|
2pass
|
오브젝트를 두번그리는것
|
|
|
vertex shader
|
버텍스를 변환 제어 쉐이더
|
pixel shader
|
화면 출력될 픽셀의 컬러를 결정하는 쉐이더
|
|
|
ceil
|
올림으로 소수점이 있는 숫자를 정수로 만들어준다.
|