미디어아티스트 최건혁 Details
커리큘럼을 보여드려요
- SECTION 01
웹에서 셰이더 활용 기초 - P5.js
01. 오리엔테이션- 미디어 아티스트 최건혁 - 코딩으로 그림을 그린다는 것 / 코딩으로 그림을 그리는 사람들 - 이 강의에서 주로 다루는 셰이더란? - 공부 레퍼런스 소개 - 강의 순서 소개
02. P5.js : 간단한 도형 그려보기- 기본도형 - 커스텀 도형 그려보기 *미니예제 실습
03. P5.js : 깃털 그려보기- 반복문 활용해서 그림 그려보기 - 노이즈 함수 사용해서 형태 변주해보기 *미니예제 실습
04. P5.js : 뿌리같은 구조 그려보기- 자바스크립트 클래스 - 재귀적으로 반복되는 규칙 *미니예제 실습
05. P5.js / Shader : 셰이더 시작해보기- 일단 같이 해봐요 / 셰이더 코드 써보기 - 픽셀 좌표란? - 간단한 그라데이션 그려보기 *미니예제 실습
06. P5.js / Shader : 간단한 도형을 그리고 셰이더로 가공해보기- P5 CreateGraphics 활용 / 간단한 도형 그리기 - 마우스 주변 이미지 왜곡해보기 - P5.js에서만 셰이더를 사용하면 아쉬운 이유 *미니예제 실습
- SECTION 02
웹에서 셰이더 활용 기초 - Three.js
07. CodeSandbox 소개- CodeSandbox 소개 크롬 개발자 도구 소개 셰이더 작업을 위한 환경 소개
08. 벡터 그래픽에서 3D 심볼 제작- Adobe Illustrator 로 몇가지 간단한 벡터그래픽 그리고, svg로 내보내기 - Blender로 svg 불러오고, 간단한 3D 로고 만들어보기 - glb 확장자로 내보내기 *미니예제 실습
09. Three.js : GLTF 3D 모델 로딩 - Threejs의 GLTFLoader 클래스로 모델 로드하기 - Threejs OrbitControl 클래스 활용해서 모델 확인해보기 - 간단한 재질(환경맵) 적용해보기 - 간단한 빛, 그림자 적용해보기 *미니예제 실습
10. Three.js : 간단한 3D씬 그려보기- 반복문 활용하여 이전에 만든 3D 로고 주변에 몇가지 기하형태 배치해보기 - 간단한 애니메이션 적용해보기 - 오디오에 반응하게 만들어보기 *미니예제 실습
11. Three.js / Shader : 3D 모델의 재질에 셰이더 적용해보기- Three.js ShaderMaterial 활용해서 그려보기 *미니예제 실습
12. Three.js / Shader : 프레임버퍼 셰이더를 활용하기 위한 환경 구축- 프레임버퍼에 대하여 - Three.js WebGLRenderTarget 활용해서 프레임버퍼에 그릴 수 있는 환경 구축 및 클래스로 정리 *미니예제 실습
13. Three.js / Shader : 픽셀좌표와 체커보드 그리기- 픽셀좌표에 관하여 / 픽셀좌표를 이용한 그리기에 관하여 - 앞으로 진행해볼 셰이더를 활용한 그리기 소개 - 픽셀좌표의 왜곡에 관하여 - 픽셀좌표의 왜곡으로 만들 수 있는 다양한 종류의 반복 *미니예제 실습
14. Three.js / Shader : 그리드를 나누고, 각 그리드에 다양한 색 채워보기- 유사난수생성 함수에 관하여 - 유사난수생성 함수와 픽셀좌표 왜곡을 이용해서 그리기 *미니예제 실습
15. Three.js / Shader : 노이즈를 활용해 복잡한 질감 그려보기- 노이즈 함수의 특성 이해 / 노이즈 함수란 무엇일까요? - 노이즈 함수 시각화 - 도메인 워핑 *미니예제 실습
16. Three.js / Shader : 만화경 그려보기- 공간의 반사 / 반복이 일어나는 원리 - 회전시켜보기 - 선형변환 *미니예제 실습
17. Three.js / Shader : 웹캠 활용해서 만화경 거울 만들어보기- 사용 가능한 카메라 기기 확인 - 셰이더로 카메라 인풋 가져오기 - 카메라 인풋 왜곡해보기 - 만화경 거울 만들어보기 *메인예제 실습
18. Three.js / Shader : 간단한 2D 그림 그리기- 이니고의 2D SDF 도형들 - 도형을 조합해서 그리는 여러가지 방법들 min, max, smin 등 *미니예제 실습
19. Three.js / Shader : 메타볼 그려보기- 메타볼은 무엇일까요? - 위키피디아에 묘사된 공식 적용해서 그려보기 - 2D SDF 활용해서 그려보기 *미니예제 실습
20. Three.js / Shader : 복잡한 2D 그림 그려보기 1- 간단한 그림 그려보기 - 반복되는 공간 *메인예제 실습
21. Three.js / Shader : 복잡한 2D 그림 그려보기 2- 간단한 그림 그려보기 - 반복되는 공간 / 겹치는 공간 *메인예제 실습
22. Three.js / Shader : 모션블러 만들어보기- 백버퍼의 개념 - 백버퍼 활용한 작업을 위한 환경 구축 - 백버퍼를 활용해서 간단한 모션블러 만들어보기 - 3D로고로 만든 3D씬에 적용해보기 *미니예제 실습
23. Three.js / Shader : 백버퍼를 활용한 텍스처 어드벡션- 어드벡션이란? / 이 개념을 이해하면 어떤 작업이 가능해질까요? - 노이즈 함수를 활용한 어드벡션 *미니예제 실습
24. Three.js / Shader : 텍스처 어드벡션 다양하게 활용해보기- 발산 / 수축하는 이미지 - 3D로고와 같이 사용해보기 *메인예제 실습
- SECTION 03
코랩 활용해서 셰이더로 영상 만들어보기 - Colab / ModernGL
25. Colab : 코랩과 파이썬, 그리고 영상- 코랩 소개 / 파이썬 소개 - 코랩으로 영상 만들기의 장점 - 코랩으로 OpenGL을 사용하려 할때 생기는 문제 / 극복 방법
26. Colab : 코랩 경험해보기- 조건문 / 반복문 / 함수 / 클래스 등 간략하게 문법 살펴보기 - 구글드라이브 마운트 - PIL로 이미지 로드해보기 *미니예제 실습
27. Colab / Shader : 코랩에서 셰이더로 그리기 1- ModernGL 설치 - 셰이더 프로그램으로 프레임버퍼 업데이트할 수 있는 환경구축 - 셰이더 프로그램으로 이미지 만들어보기 - PIL로 낱장 이미지로 결과 확인 - MoviePy로 쉐이더로 그려지는 이미지 영상으로 만들어보기 *미니예제 실습
28. Colab / Shader : 코랩에서 셰이더로 그리기 2- 코랩에서 ModernGL 활용하여 인풋 이미지 사용할 수 있는 환경 구축 - 여러개의 패스를 활용한 그리기 *미니예제 실습
29. 마무리- 공부를 지속하는 것에 관하여 - 셰이더 코드와 프레임 버퍼로 그리는 3D - 파티클 시뮬레이션 GPGPU? - 유체 시뮬레이션 - 반복하고 변주하는 것에 관하여 - 공부해볼만한 추가 레퍼런스 / 도구 / 주제들 살펴보기