====== 키워드 몇개 ====== **Albedo** * 오브젝트 Pixel 의 RGB값. **(float3) viewDir** * ?? ====== 좌표 행렬 ====== 기본 * 로컬 : 오브젝트의 Pivot을 중심으로 하는 좌표계 * 개념상이고 실제 사용될 일은 뭐.. * 월드 : 각종 오브젝트를 배치하는 가상의 월드 좌표. * 뷰 : (카메라) 좌표, 월드의 어떤 지점에 배치한 (가상의 또는 진짜) 카메라의 시점에서 보는 좌표계 * 카메라가 부모 오브젝트이고 각종 오브젝트가 자식 오브젝트라면 이해 될 듯 * 투영 : 실제 그림으로 만들어 내기 위해서, 조정되는 마지막 좌표계. \\ 카메라의 시야각 , 투영 방식 같은거 반영 하려면 한번 더 작업하긴 해야할테니 이때. * 원근,직교 등등 선택해서 그냥 행렬곱 그런데, * ViewDirection : * (아직 잘 모르겠는데) 월드 좌표에서의 Direction? * 오브젝트에서 뷰(카메라)의 방향? ====== Unity Predefine ====== * half == fixed HLSLSupport.cginc 파일에 define 되어 있다. ====== 재질을 이루는 요소 ====== * ambient : 주변광 \\ 최저(어두운 영역의)의 밝기 영역의 빛에 반사되는 색상. * 태양광을 생각하면 이해하기 쉬울듯 * diffuse : 확산광(난반사광) \\ 오브젝트 모든 점에 균등하게 비춰지는 빛. * specular : 반사광 * 빛의 입사각과 반사각이 같은 영역 * emissive : 메시 표면에서 자체적으로 방출되는 빛의 색상. ====== 라이팅 모델 ====== Rim Lighting * 림라이팅 PPT : [[http://www.slideshare.net/agebreak/0806-rim-lighting#|Rim Lighting SlideShow]] * 오브젝트 뒷부분의 조명이 비춰서, 오브젝트 외곽이 빛나는듯이 보이는 효과 {{slideshare>0806-rim-lighting}} ====== Cg 함수 ====== saturate( float ) * 변수 값을, 0~1 범위로 조정 * 노말 또는 dot(벡터내적)의 값을 0~1 로 조정하는데 사용한다. normalize() * 벡터에 노말벡터를 구한다. dot( a, b ) * 벡터의 내적 값을 구한다. * 두 벡터의 cos{theta}를 구하는데도 사용 reflect() * 벡터의 반사벡터를 (빛의 입사각의 반사각을 구하는) 구하는 함수 * param1 : 입사각 방향벡터, param2 : 입사각이 닿는, 반사면의 법선벡터 mul() * 벡터 곱하기