편의상 2017년 겨울방학이라 기록했지만, 실제 교육기간은 18년 1월 초부터 2월 초 까지입니다.
두 분야를 교육이 진행됬습니다.
- 쉐이더 프로그래밍 (유니티)
- C# 소켓 프로그래밍
- 시작일은 1월 15일 입니다.
- 평일 오후 1:30 부터 오후 4:30 까지 진행합니다.
- 랜더링 파이프라인 이론
- 언릿 쉐이더로 글리치와 홀로그램 효과 제작
- 버텍스 함수와 프래그먼트 함수를 직접 짜면서 완성한 글리치 홀로그램
- UV 맵을 컬러에 대응
- 정반사-스펙귤러와 난반사-디퓨즈의 차이
- 물리 기반 쉐이더에 대해 설명
- 금속성이 스펙큘러에 미치는 영향을 본것이에오
- 알베도와 에미션, 금속성, Smothness 등의 필드 값
- 샘플러2D와 tex2D
- 쉐이어로 데칼 효과를 낼때 픽셀 쉐이더에서 어떻게 두 픽셀을 섞어야 제대로 오버레이가 나오는지
- 알파값을 가진 픽셀을 냅다 덮어쓰거나 두 픽셀을 더하면 안된다는 것
- UV맵을 변경해서 물이 흘러가는 효과를 제작
- 데칼 효과
- 컬러는 벡터다
- 두 텍스쳐를 섞어 불 효과를 내기
- UV 좌표를 컬러맵을 통해 왜곡해서 불 효과를 내기
- 벡터 내적의 정확한 진짜 의미
- 노말 벡터와 빛의 벡터를 내적해서 빛의 양을 계산하는 방법
- 단 뷰어는 고려하지 않음
- 방향벡터를 컬러로 맵핑하면 어떻게 보이는지 확인해보기
- 하이폴리곤의 노말을 저장한 노말맵으로 로우폴리곤에서 하이폴리곤 빛효과 흉내내서 디테일 추가하기
- 방향벡터를을 왜곡하여 디테일의 깊이 차이를 강화하는 방법 보기
아래 쉐이더를 직접 코드를 작성
- 림라이트를 이용한 홀로그램
- 열화상 카메라
- 투패스 랜더를 통한 툰 랜더링의 외곽선 구현
- 하프-램버트 공식을 사용한 하프램버트 구현
다시 복습 및 직접 구현
밸브가 팀포티리스2를 만들면서 발표한 디퓨즈 랩핑 기법을 사용해서 블린-퐁을 수정하여 툰 랜더링을 만들었습니다.
내적을 통해 구한 램버트의 디퓨즈와 블린-퐁의 스펙큘라의 세기 값을 최종 출력으로 그대로 쓰지 않고 별도의 텍스쳐의 UV 좌표로 써서 최종 라이팅 출력을 빛의 세기에 대응, 텍스쳐 상의 컬러로 한번 거쳐서 쓰기
랜더큐의 순서와 반투명한 물체 쓸때 Z 버퍼를 쓰지 않기 때문에 일어나는 랜더링 순서의 역전 문제
- 리플렉션
- PBS 복습
- 출렁이는 물 효과 제작
- 버텍스 쉐이더를 작성하여 물 버텍스 수정
- 삼각함수 사용
여기서부터는 C# 프로그래밍 수업을 진행했습니다.
- C# 네트워크 소켓 프로그래밍 기초
- TCP / UDP 통신 구현
앞으로 사용할 커스텀 스트림 타입과 통신 라이브러리를 제작하고 그것을 활용한 채팅 프로그램을 제작.
https://github.com/IJEMIN/dotnet-Network-Programming-with-Unity