2017 년 겨울방학

2017 년 겨울방학 교육입니다.

기간

편의상 2017년 겨울방학이라 기록했지만, 실제 교육기간은 18년 1월 초부터 2월 초 까지입니다.

분야

두 분야를 교육이 진행됬습니다.

  • 쉐이더 프로그래밍 (유니티)
  • C# 소켓 프로그래밍

날짜별 기록

  • 시작일은 1월 15일 입니다.
  • 평일 오후 1:30 부터 오후 4:30 까지 진행합니다.

1일차

내용

  • 랜더링 파이프라인 이론
  • 언릿 쉐이더로 글리치와 홀로그램 효과 제작

사용 자료

완성본

F 148 Screenflick Movie

  • 버텍스 함수와 프래그먼트 함수를 직접 짜면서 완성한 글리치 홀로그램

2일차

내용

  • UV 맵을 컬러에 대응
  • 정반사-스펙귤러와 난반사-디퓨즈의 차이
  • 물리 기반 쉐이더에 대해 설명
  • 금속성이 스펙큘러에 미치는 영향을 본것이에오
  • 알베도와 에미션, 금속성, Smothness 등의 필드 값
  • 샘플러2D와 tex2D
  • 쉐이어로 데칼 효과를 낼때 픽셀 쉐이더에서 어떻게 두 픽셀을 섞어야 제대로 오버레이가 나오는지
  • 알파값을 가진 픽셀을 냅다 덮어쓰거나 두 픽셀을 더하면 안된다는 것
  • UV맵을 변경해서 물이 흘러가는 효과를 제작
  • 데칼 효과

3일차

내용

  • 컬러는 벡터다
  • 두 텍스쳐를 섞어 불 효과를 내기
  • UV 좌표를 컬러맵을 통해 왜곡해서 불 효과를 내기
  • 벡터 내적의 정확한 진짜 의미

램버트 라이팅

  • 노말 벡터와 빛의 벡터를 내적해서 빛의 양을 계산하는 방법
  • 단 뷰어는 고려하지 않음

노말맵

  • 방향벡터를 컬러로 맵핑하면 어떻게 보이는지 확인해보기
  • 하이폴리곤의 노말을 저장한 노말맵으로 로우폴리곤에서 하이폴리곤 빛효과 흉내내서 디테일 추가하기

노말 값 왜곡

  • 방향벡터를을 왜곡하여 디테일의 깊이 차이를 강화하는 방법 보기

4일차

  • 잠시 휴식

5일차

내용

아래 쉐이더를 직접 코드를 작성

  • 램버트
  • 블린퐁
  • 림라이트

6일차

내용

  • 림라이트를 이용한 홀로그램
  • 열화상 카메라
  • 투패스 랜더를 통한 툰 랜더링의 외곽선 구현
  • 하프-램버트 공식을 사용한 하프램버트 구현

7일차

내용

복습

다시 복습 및 직접 구현

  • 램버트
  • 하프램버트
  • 블린-퐁

툰랜더링 제작

밸브가 팀포티리스2를 만들면서 발표한 디퓨즈 랩핑 기법을 사용해서 블린-퐁을 수정하여 툰 랜더링을 만들었습니다.

내적을 통해 구한 램버트의 디퓨즈와 블린-퐁의 스펙큘라의 세기 값을 최종 출력으로 그대로 쓰지 않고 별도의 텍스쳐의 UV 좌표로 써서 최종 라이팅 출력을 빛의 세기에 대응, 텍스쳐 상의 컬러로 한번 거쳐서 쓰기

랜더큐

랜더큐의 순서와 반투명한 물체 쓸때 Z 버퍼를 쓰지 않기 때문에 일어나는 랜더링 순서의 역전 문제

8일차

내용

  • 리플렉션
  • PBS 복습
  • 출렁이는 물 효과 제작
    • 버텍스 쉐이더를 작성하여 물 버텍스 수정
    • 삼각함수 사용

9일차

여기서부터는 C# 프로그래밍 수업을 진행했습니다.

내용

  • C# 네트워크 소켓 프로그래밍 기초
  • TCP / UDP 통신 구현

10일, 11일, 12일차

내용

앞으로 사용할 커스텀 스트림 타입과 통신 라이브러리를 제작하고 그것을 활용한 채팅 프로그램을 제작.

작성한 코드

현장 사진

F 149 Image Uploaded From Ios