수업소개
본 수업은 OpenGL Shading Language에 대한 강의 입니다. 줄여서 GLSL, 별칭으로 Shader라고도 불리우는 이 언어는 비쥬얼 프로그래머로 하여금 보다 빠른 이미지처리를 가능케 한다는 장점을 갖고 있습니다. 또한 픽셀 단위에서의 색조절이 가능하여 보다 다채롭고 부드러운 색표현이 가능해지기에, 비쥬얼 프로그래머라면 절대로 피해갈 수 없는 숙명적인 존재이기도 합니다. 포프킴씨의 쉐이더 소개
국내에서 쉐이더를 학습하기가 참 어렵습니다. 공부자료와 루트가 많지 않을뿐더러 내용의 난이도 역시 쉽지 않기에, 혼자 공부해온 저는 그 어려움을 잘 알고있습니다. 따라서 제가 가진 미약한 정보나마 같은 주제를 공부해가시는 분들께 도움이 될까 수업을 준비해보았습니다.
강의대상과 수업내용
우선 저는 인터랙션디자인을 주로 다뤄왔습니다. 툴로 설명을 드리자면 Processing과 openFrameworks를 만져왔습니다. 따라서 은연중에 설명의 예시로 드는 사례나, 설명의 방향역시도 인터랙션디자인과 관련된 이야기를 많이 하게 될것같다는 점 미리 말씀드립니다.
쉐이더는 다양한 종류가 존재하나 이 수업은 그중에서도 Fragment Shader에 포커싱을 맞춘 수업입니다. 이와 관련하여 현재 그나마 가장 체계가 잘 잡혀있다고 생각하는 thebookofshaders.com을 교재삼아서 제가 가진 노하우를 덧붙여 강의를 진행해 나갑니다. 꽤나 기초적 수준에서의 Shading스킬을 다루며, 추후 강의에서 Fragment Shader심화(Ray Marching), Vertex Shader 등등으로 커리큘럼을 이어나갈것으로 기획하고 있습니다.
본 강의는 프로그래밍에 아주 초보이신 분들을 위한 강의는 아닙니다. 기본적으로 GLSL의 난이도 자체가 그리 쉬운편도 아니구요. 따라서, 본 강의는 기존에 어느정도 프로그래밍이라는 것이 몸에 익으신 분들이 들어주셨으면 합니다. 물론 수업 자체는 밑바탕에서부터 굉장히 차근차근 짚어 올라가기때문에 너무 겁먹으실 필요는 없습니다.^^;
본 수업의 효용
적어도 2차원 쉐이딩에 한하여서는, 기존에 프리셋되어 있는 쉐이더 효과를 가져다 쓰시기만 하셨던 분들이, 직접 쉐이더를 이해하시면서 작성하시게 될 수 있으리라 생각합니다.