2013년 7월 29일 월요일

무엇을 하고 살 것인가



무엇을 하고 살 것인지를 정말 오래 고민해왔지만, 학부 졸업을 앞둔 지금까지도 결론이 안 나고 있다. 그래도 몇 가지 발전은 있었다. 진로를 몇 가지 분야로 압축할 수 있었고, 각 분야에서 일하는 것이 어떤지 좀더 구체적으로 알게 되었다.


학부 입학때부터 지금까지 진로에 영향을 준 일들을 정리해 봤다.

컴퓨터공학과 입학 -> 밴드동아리 가입 -> 군입대 -> 커뮤니케이션학 복수전공과 동시에 광고동아리 가입 -> 한국 퀄컴 인턴 -> 복학 -> 아트&테크놀로지 수업 수강


컴퓨터공학과에 온 것은 게임과 프로그래밍에 대한 막연한 동경 때문이었다.  하지만 컴퓨터공학과 1학년이 학부에서 배우는 것은 지루했다. 커맨드 라인을 사용하여 문자열을 다루는 프로그램을 아무리 짜봐야 우리가 일상에서 사용하는 알집같은 GUI 애플리케이션이 어떻게 만들어지는지 알 수 없었다. 게임은 더욱 더 그랬다. 게임을 만드는 것과 이 학과에서 가르치는 것이 완전히 동떨어진 것처럼 느껴졌다. 그래서 기타를 열심히 치기로 했다.  모든 수업을 아침 9시부터 오후 1시 사이에 밀어넣고, 수업이 끝나면 바로 아현동 지하 레슨실에 가서 기타를 쳤다.

어린 나이에도 주워들은 건 있어서 나름 이런 전략을 세웠다. 전공은 취직할 정도로만 하고, 월급이 적더라도 널널한 직장에 취직한 후에 음악을 병행한다. 음악으로 돈을 벌 수 있게 되면 그때부터 음악을 하는 거고, 아니면 계속 병행하면 된다. 일주일에 한 장씩 사는 로또처럼.

그리고 남들처럼 군대에 갔다. 그때쯤 컴퓨터공학과를 나와서 널널한 직장에 다닌다는 건 참 어렵다는 걸 알게 됐다. 좀 더 재미있는 걸 하고 싶었다. 우리학교에서 배울 수 있는 것 중엔 광고가 재미있어 보였다. 전역 후 커뮤니케이션학 복수전공을 했고, 광고공부를 했다.

광고는 확실히 재미있었다. 내가 만든 것이 가능한 한 가장 강력한 매체를 통해 사람들에게 전파된다! 이것이 광고의 매력이었다. 공모전에도 몇 번 응모를 하고 나름 우리나라에서 제일 크다는 공모전의 1차예선을 통과하기도 했다.

그러는 와중에 컴퓨터공학과에서는 가장 빡세다는 운영체제 수업을 들었다. 3학년 2학기였다. 그간 동아리 활동으로 바쁘다가 마침 이때 전공에 집중할 수 있었다. 한번 하는데까지 해보자 하는 심정으로 과제에 올인했다. 나는 C언어 기초조차도 불안했기 때문에 남들 1학년때 보는 책들을 펴놓고 처음부터 다시 공부했다. 그렇게 첫 과제때문에 추석 연휴를 홀랑 날려먹고, 마지막날 깨달음이 왔다. Linux에서 사용되는 것과 동일한 Doubly Linked List를 이해했다! 새벽 다섯시에 창밖에 대고 소리를 질렀다. 이런 기쁨은 처음이었다.

다음 학기에는 영화제작 수업을 들었다. 과제 중 뮤직비디오 제작이 있었는데, 남의 노래 뮤직비디오 만들어주기에는 존심이 상해서 노래를 만들었다. 뮤직비디오 제작 2주동안 열흘이 넘는 시간을 노래 만드는 데 썼다. 그간 깨작대다 만 습작들은 많았지만 가사까지 붙여서 끝까지 완성한 건 처음이었다. Logic의 기본악기만 사용한 것과 처음인 것을 감안할 때 나쁘지 않았다. 신디사이저 사용에 재미가 붙었다.

마지막 학기를 앞두고 퀄컴 인턴에 지원했고, 덜컥 붙었다. 사실 뭐 하는 곳인지도 제대로 모르고 갔었다. 알고보니 관심있는 분야와는 거리가 다소 있었지만, 그래도 성장하는 계기가 됐다. 돈도 조금 모았다. 인턴이 끝나기 전에 처음으로 GUI프로그래밍에 도전해 봤다. .NET 프레임워크를 사용해서 툴을 하나 만들었다. 재미있었다. 내가 어릴 때 막연하게 동경하던 프로그래밍의 이미지는 이런 것이었다. EXE확장자를 가진 파일이 생겨서, 실행하면 여러가지 일을 하는 버튼과 창들이 나오고, 물음표를 누르면 개발자 정보와 연락처가 나오는, 사실 정말 중요한 프로그램의 core와는 별 상관없는 것이, 내가 동경하던 것이었다. "여러분! 제가 프로그램을 만들었어요!"

그리고 이런 생각이 들었다. 내가 음악을 좋아하고, 신디사이저에 관심이 있고, 프로그래밍을 전공했는데, 가상악기를 만들 순 없을까? Propellerhead사의 Reason처럼 멋진 소프트웨어를 만들 수는 없을까? 갑자기 광고가 마음에서 멀어졌다. 물론 광고도 재미있지만 이정도로 흥분되는 일은 아니었다.

하지만 늦었다. 코딩도 이제 갓 시작한거나 다름없었고, 신호처리 쪽에 대해선 아무것도 몰랐다. 알고보니 음악은 짧은 소리들의 집합이었고, 소리는 순전히 신호였고, 신호를 가지고 노는 건 전자공학에서 가르치는 것이었다. 따분하다고만 생각했던 전자공학이 갑자기 거대하게 다가왔다. 올해 초 복학해 DSP(Digital Signal Processing)을 청강했고... 좌절했다. 

동시에 우리학교에 신설된 아트&테크놀로지 학과의 수업을 몇 개 들었다. 모바일 프로그래밍이란 수업의 마지막 과제는 게임샐러드라는 툴을 사용해 게임을 만드는 것이었다. 힘들었지만 재미있었다. 안드로이드 .apk 파일로 만들어 갤럭시 탭에 넣어가지고 다녔다. "여러분! 제가 게임을 만들었어요!"

바쁘다는 이유로 멀리했던 게임인데 만들어 보니 재미있었다. 작곡을 할 때와 같았다. 조금만 몰입하면 어느새 해가 떠 있었다.



그래서 지금은 오디오와 게임을 두고 고민중이다. 공통점은 창작을 하는 분야에서 일하고 싶다는 것이다.

얼마 전에는 신생 가상악기 개발회사로부터 함께 일하자는 제의를 받았다. 내가 그런 일을 할 수 있을지 사실 두렵기도 하고, 얼떨떨하기도 하다. 학부 동기들의 대부분이 대기업에 입사한 가운데 홀로 다른길을 걷는 것도 불안하지 않다면 거짓이다. 삼성전자에 다니는 친구들이 많다보니 여태 연봉 액수를 들어도 무덤덤했는데, 내가 중소기업에서 시작하면 받게 될 연봉과 비교하니 새삼 놀라웠다. 이래서 다들 삼성 삼성 하는구나 싶었다.

우리나라 게임회사에 취직하는 것도 생각해 봤지만 아무리 생각해도 국내 게임회사들이 만드는 게임은 내가 만들고 싶은 것과는 거리가 있었다. 빅토리아 시크릿 모델같이 생긴 캐릭터들이 갑옷 입고 검 휘두르고 AK-47 쏘고 하는건 아무래도 내 취향이 아니었다. 게임 쪽에서 하고싶은 걸 하려면 창업을 하거나 북미쪽에 취업을 해야 했다.

암튼 뭘 하고 살지 결정이 너무 어려워서, 일단은 결정을 운명에 좀 맡기기로 했다. 대학원 원서도 넣어보고, 입사지원도 하고 하다가 '되는 쪽' 으로 가려고 한다. 이렇게라도 결정하지 않으면 도대체 시작을 못하겠다. 다만 한 가지 원칙은 있다. 하고 싶은 일 중에서 고른다는 것. 돈을 더 받는다고 내가 하고싶지 않은 분야의 일을 하면 내가 못 견딜 것 같다. 그리고.. 열심히 살아야한다. 하고싶은 일 하면서 잘 먹고 살려면 정말 남들 몇배로 열심히 살아야겠더라. 왜 이제야 알았을까.

----



2013년 7월 28일 일요일

파이썬 GUI 툴킷으로 무엇이 좋을까


Tkinter? wxPython? pyQt? pySide? PyGUI? pyGtk?

안그래도 뭘 잘 못 고르는 마당에 (음료수라던지, 토익 문제집이라던지) RA중인 프로젝트를 위한 툴을 만드는 데 사용할 파이썬 GUI 툴킷을 고르자니 머리가 쪼개질 것 같다. 검색해 보니 역시 세상 사람들도 다 같은 고민을 하는 듯. 아예 각 항목별로 중요도를 설정해주면 목적에 맞는 GUI 툴킷을 추천해주는 페이지까지 있다.




그래.. 살다보면 딱 '넌 이거 해야돼!' 라고 정해주는 게 편할 때가 있다. 좀처럼 시작을 못하고 있을 땐 더 그렇고.


오늘의 괴상한 꿈



요즘 머릿속도 복잡하고 해서 그런지 감정적으로 되게 피곤한 꿈을 꿨다.


나는 내가 다니던 고등학교측의 과실로 친구들을 잃은 트라우마를 극복하지 못한 성인 남자었다. 몇년 전 학교에서는 학생들을 그들이 거부한 위험한 곳으로 수학여행을 보냈고 결국 사단이 났던 것이다. 그런데 내가 잃은 베프중엔 어쩐지 리오넬 메시가 있었다. 나는 그친구가 죽지않고 살아있었으면 누릴 영광을 사진처럼 선명하게 떠올리며 괴로워하던 중에 잠에서 깼다.


난 축구도 별로 안좋아하는데 왜 메시였을까..

2013년 7월 26일 금요일

스크랩 : C++에서 const 멤버함수

C++의 멤버함수 선언 맨 뒤에 const가 붙으면 대체 뭐지?

에 대해 지금까지 본 것중 가장 간결하고 알기쉬운 대답.

요약하자면 멤버함수 선언 뒤에 const가 붙으면, 내부적으로 this 포인터가 생성될 때 const Foo * const this; 가 되는 것과 마찬가지라는 것이다. this가 가리키는 곳을 바꿀 수도 없고 (이건 당연한 듯), this가 가리키는 값을 바꿀 수도 없다.

http://www.tipssoft.com/bulletin/board.php?bo_table=old_bbs&wr_id=136

2013년 7월 8일 월요일

3D Basic Lesson 1-2. 간단히 설명하는 레이트레이싱




몇 주 전 Scratchapixel쪽에 강좌를 한글로 번역해도 좋냐는 메일을 보냈고, 대략 다음과 같은 내용의 답변을 받았다.


스크래치는 앞으로 여러 언어로 서비스할 계획에 있지만, 현재로써는 예산의 한계때문에 그러지 못하고 있습니다. 스크래치가 다국어 서비스를 시작하기 전까지는 번역본을 블로그에 게재하셔도 좋습니다.

막상 허락은 받아 놨는데 내가 이걸 번역할 근성이 될 지... 일단은 일주일에 한 챕터씩 하는걸로. 되는데까지는 해보자.

-----


다음은 Scratchapixel 의 글 중 [3D Basic Lessons - Lesson 1 : Writing a Simple Raytracer] 중 '2. Raytracing Algorithm in a Nutshell' 을 번역한 것입니다.

원문 : http://www.scratchapixel.com/lessons/3d-basic-lessons/lesson-1-writing-a-simple-raytracer/raytracing-algorithm-in-a-nutshell/


이전 강좌 : 3D Basic Lesson 1-1. 어떻게 동작하나요?

Lesson 1-2. 간단히 설명하는 레이트레이싱 


우리가 왜 물체를 볼 수 있는지는 Ibn al-Haytham이 설명했습니다. 그의 발견에는 두 가지 흥미로운 점이 있습니다. 첫째로 우리는 빛이 없이는 아무것도 볼 수 없고, 둘재로 주위에 물체가 없으면 우리는 빛을 볼 수 없습니다. 우리가 은하계 사이를 여행한다면 그런 일이 평범하게 일어나곤 하겠지요. 만일 우리 주위에 어떠한 물질도 존재하지 않는다면 우리는 광자들이 그 공간을 돌아다니고 있다 하더라도 암흑 외에는 그 어떤것도 볼 수 없게 됩니다.

정방향 추적Forward Tracing


그림 4: 광원에서 나온 무수히 많은 광자들이 초록색 구를 때리지만, 단 하나만이 눈의 표면에 닿는다.

컴퓨터로 생성한 이미지에서 빛과 물체 사이의 상호작용을 시뮬레이션하고 싶다면 우리가 알아야 할 것이 하나 더 있습니다. 물체에 의해 반사된 광선의 수에 비해,  한정된 몇 개의 광선만이 눈의 표면에 들어온다는 것입니다. 여기 그 예가 있습니다. 한번에 한개의 광자만을 발산하는 광원이 있다고 상상해봅시다. 광원에서 나온 광자는 어떤 물체에 닿을 때까지 직선으로 나아갈 것입니다. 광자의 흡수를 고려하지 않는다면, 물체에 닿은 광자가 어떤 임의의 방향으로 반사될 것이라고 생각할 수 있습니다. 반사된 광자가 우리의 눈 표면에 도달하면 우리는 광자가 반사되었던 바로 그 지점을 "보는" 것입니다.



 독자로부터의 질문: 위에서 "빛이 비춰지는 영역의 각 점이나 물체가 광선을 모든 방향으로 방사 (반사) 한다." 고 하셨는데요, 이건 "어떤 임의의 방향" 이라는 말과는 배치되는 것 아닌가요?
 답변: 왜 빛이 모든 방향으로 반사되는지 설명하는 것은 이번 레슨의 주제와는 조금 맞지 않는 것 같습니다 (완전한 설명을 위해 빛-물체간의 상호작용에 관한 레슨을 보세요). 그래도 짧게 답변드리자면, 맞습니다. 또한 아닙니다. 물론 실제 세계에서 표면에 반사된 광자는 위상기하학과 광자가 입사되는 방향에 따라 정의된 어떤 특정한 방향으로 나아갑니다. 우리 눈에 난반사 물체의 표면은 부드럽게 보이는데, 현미경으로 보면 그 미세 구조는 매우 복잡하고, 전혀 부드럽지 않습니다. 왼쪽의 사진은  다른 배율들로 촬영한 종이의 표면입니다. 광자들은 너무나 작아서 우리 눈에  보이지 않는 이 복잡한 구조에 따라 반사됩니다. 광선의 다발이 이 난반사 물체의 표면을 비추면, 광자들이 복잡한 구조의 서로 다른 부분들에 닿아 여러 방향으로 반사되는 것입니다. 그 방향이 너무나 많기 때문에 우리가 "가능한 모든 방향" 이라고 한 것입니다. 이러한 이유로 광자들과  이러한 미시 구조와의 상호작용을 시뮬레이션하기 위해 광선들을 임의의 방향으로 균등하게 반사시켜도 실제와 크게 다르지 않게 됩니다.
가끔 거시적 크기 (눈에 보이는 정도의 크기) 에서 이러한 구조를 가지고 있는 물체는 빛을 특정한 방향으로 반사하기도 합니다. 이것은 비등방성anisotropic 반사라고 하며 빛-물체간 상호작용을 다룬 레슨에서 자세히 다뤄질 것입니다. 이러한 거시적 구조는 나비의 날개에서 볼 수 있는 무지개 빛을 만드는 원인이 되기도 합니다. 




이러한 현상을 컴퓨터 그래픽스의 관점으로 바라봅시다. 먼저, 눈을 픽셀들로 구성된 이미지 평면으로 대체할 수 있습니다. 이 경우에는 발산된 광자들이 이미지 평면 위의 픽셀들 중 하나에 닿으면서 그 지점의 밝기를 0보다 큰 값으로 증가시킵니다. CG 이미지는 이 과정을 모든 픽셀들의 밝기(또는 색상) 이 조절될 때까지 반복하는 방법으로 생성할 수 있습니다. 이 기술은 전반향 광선 추적forward ray-tracing 이라고 불리는데 그 이유는 광원에서 관측자 방향으로 앞으로 나아가며 광선을 추적하기 때문입니다.

이 방법에 어떤 문제가 있는지 보이시나요?

문제는 다음과 같습니다: 우리는 반사된 광자가 항상 눈으로 들어온다고 가정했습니다. 실제로는 광선들이 가능한 모든 방향으로 반사되기 때문에 그 중 어느 광선이 눈으로 들어올 확률은 매우 적습니다. 눈에 들어오는 하나의 광자를 찾기 위해서는 엄청난 양의 광선을 쏘아야 합니다. 실제 세상에서는 이렇게 셀 수 없이 많은 광자들이 빛의 속도로 모든 방향을 향해 여행하고 있는 것입니다.

이제 이렇게 생각하실지도 모르겠네요. "정말로 광자들을 임의의 방향으로 쏘아야 하는 건가요? 눈의 위치를 알고 있으니까 그 방향으로 광자를 쏘고, 그 중 이미지 평면을 지나는 것이 있다면 그것이 어느 픽셀을 지나는지 보면 되는 거 아닌가요?" 이것은 확실히 가능한 최적화 방법 중 하나이지만, 특정한 재질에만 쓰일 수 있습니다. 나중에 빛-물체간 상호작용에 대한 레슨에서 설명하겠지만 난반사 표면에서 방향성은 중요하지 않습니다. 이것은 난반사 표면에 도달한 광자는 부딪힌 부분의 normal (역주: 구의 중심으로부터 표면의 한 점을 향하는 벡터) 을 축으로 하는 반구의 어느 방향으로나 반사될 수 있기 때문입니다. 그런데 표면이 거울이고 난반사 속성이 없다면, 광선은 하나의 정확한 방향으로만 반사될 것입니다; 거울 반사 방향입니다 (나중에 이를 어떻게 계산하는지 배울 것입니다). 이러한 종류의 표면을 계산하기 위해, 거울 반사가 일어나는 경우에는 광자의 방향을 인위적으로 바꿔서는 안 되는 것입니다. 곧 이 방법이 완전히 만족스러운 건 아니라는 뜻이지요.

독자로부터의 질문: "눈은 점으로 된 광수용기인가요? 아니면 면적이 있는 표면으로 된 광수용기인가요? 광자를 수용하는 표면의 면적이 매우 작다 하더라도 여전히 그 영역이 점보다는 클 텐데, 그렇다면 그 표면은 단 한 개의 광선이 아니라 더 많은 광선을 수용하게 되는 것 아닌가요?"
답변: 정확합니다. 눈은 카메라의 필름이나 전하 결합 소자CCD처럼 점이 아니라 면적이 있는 표면으로 된 광수용기입니다. 이 레슨은 레이트레이싱 알고리즘을 소개하는 레슨이므로 이 주제를 지금 자세히 설명하기는 조금 어렵습니다. 카메라와 사람 눈 모두 들어온 광선들을 그 표면의 뒷부분으로 모아주는 (초점을 맞추는) 렌즈를 가지고 있습니다. 만일 렌즈의 반지름이 매우 작다면 (광수용기가 점에 가깝다면) 기술적으로 물체로부터 반사된 빛이 한 방향에서만 온다고 생각할 수 있습니다. 이것이 바늘구멍 카메라pinhole camera가 동작하는 방식입니다. 나중에 카메라에 대한 레슨에서 이 주제에 대해 더 이야기할 것입니다.

이러한 방법을 사용하여 난반사 물체만 그리기로 결정했다 하더라도 아직 한 가지 문제가 남아 있습니다. 우리는 광원으로부터 화면에 광자를 쏘는 과정을 광선 (혹은 작은 페인트 입자) 들을 물체 표면에 뿌리는 것으로 생각할 수 있는데, 충분히 촘촘하게 뿌려지지 않는다면 어떤 부분은 보이지 않는 채로 남게 될 것입니다.

검은 종이 위에 흰색 펜으로 점을 찍어 주전자를 그리려 한다고 생각해 봅시다 (각각의 점이 광자를 의미합니다). 아래 그림에서 보이듯 주전자와 충돌하는 광자들의 수가 적으면 나타나지 않은 부분이 대부분입니다. 계속 점을 찍어 나가면, 주전자가 광자들로 "거의 완전히" 덮여 물체를 쉽게 알아볼 수 있을 때까지 광자들의 밀도가 증가합니다.



하지만 1000개나 그 몇 배의 광자를 쏘더라도, 우리는 물체의 표면이 완전히 광자들로 덮일 것이라고 확신할 수 없습니다. 이것이 이 방식의 주요한 문제점입니다. 다시 말해서, 물체가 적절히 표현되기 위한 충분한 수의 광자들이 발사되었다고 판단될 때 까지 프로그램을 실행시켜야 한다는 말입니다. 이는 우리가 실행을 멈출 시점을 결정하기 위해 물체가 그려지는 모습을 관찰하고 있어야 한다는 의미입니다. 실제 제작 환경에서는 불가능한 일입니다. 게다가 레이트레이싱에서 가장 연산비용이 많이 드는 작업은 광선과 지형지물의 교차지점을 찾는 것인데, 광원으로부터 많은 수의 광자를 내보내는 것 까지는 크게 상관이 없을지라도, 그것들의 모든 교차지점을 찾는 것은 허용할 수 없을만큼 비용이 클 것입니다.

결론: 원칙적으로 정방향 광선추적forward ray-tracing (또는 광원으로부터 빛을 쏘기 때문에 광 추적light tracing이라고도 합니다) 을 사용하면 자연에서 빛이 운동하는 과정을 시뮬레이션 할 수 있습니다. 하지만, 이 방법은 지금까지 얘기한 것 처럼 효과적이거나 실용적이지 못합니다.


역방향 추적Backward Tracing

그림 5: 역방향 광선추적backward ray-tracing. 눈에서부터 구의 한 지점까지 광선을 추적하고, 다시 그 지점에서 광원까지 광선을 추적한다.

광원으로부터 광수용기 (우리의 눈 같은 것 말입니다) 를 향해 광선을 추적하는 대신에, 수용기로부터 물체를 향해 거꾸로 광선을 추적합니다. 실제로 일어나는 것과 방향이 반대이므로 역방향 광선 추적backward ray-tracing 이라고 불리거나, 눈에서부터 광선을 발사하므로  눈 추적eye tracing 이라고도 불립니다 (그림 5). 이 방법은 전방향 광선 추적forward ray-tracing의 결점에 대해 편리한 해법을 제시합니다. 시뮬레이션이 자연의 것처럼 빠르고 완벽할 수는 없으므로, 우리는 타협하여 눈에서 장면scene을 향하는 방향으로 빛을 추적해야 합니다. 만일 광선이 물체에 닿는다면 또 다른 광선 (빛 광선light ray라고 불리는) 을 발생시켜 그 부분이 얼마나 많은 빛을 받게 되는지를 알아볼 수 있습니다. 때때로 이 "빛 광선light ray"는 장면의 다른 물체로부터 가로막히게 되는데, 이것은 처음 빛이 물체에 닿은 부분이 그림자 안에 있다는 것을 의미합니다 (곧 그 부분은 광원으로부터 어떠한 빛도 받지 않는다는 뜻입니다) . 이러한 이유로 우리는 이 광선들을 빛 광선light ray 가 아니라 그림자 광선shadow ray 이라고 부를 것입니다. 컴퓨터 그래픽 분야에서는 우리가 눈에서부터 장면을 향해 쏜 첫 광선을 일차 광선primary ray, 시계 광선visibility ray, 또는 카메라 광선camera ray 이라고 부릅니다.

이 레슨에서 우리는 광선이 광원에서 발산하는 상황을 전방향 추적forward tracing, 반대로 카메라에서 광선이 발사되는 상황을 역방향 추적backwrad tracing이라고 하였습니다. 하지만 어떤 사람들은 이를 반대로 사용하기도 합니다. 카메라에서 광선을 쏘는 것이 컴퓨터 그래픽스에서 가장 일반적인 경로 추적 기술이기 때문에 이것이 전방향 추적forward tracing이라고 불리기도 합니다. 혼란을 막기 위해 조금 더 명시적인 광 추적light tracing 이나 눈 추적eye tracing 같은 용어를 사용하실 수도 있습니다. 이러한 용어는 양방향 경로 추적에서 더 자주 사용됩니다 (고급 과정을 보세요).

결론

눈에서 시작하던 광원에서 시작하던, 컴퓨터 그래픽스에서는 광선을 발사하는 이미지 생성 방식을 경로 추적path tracing 이라고 부릅니다. 광선 추적ray-tracing이라는 용어도 사용될 수 있지만 어쨌거나 경로 추적path tracing이라는 용어의 개념은 광원으로부터 카메라를 향해 (혹은 그 반대로) 경로를 추적하는 방식을 사용한다는 데 있습니다. 여기에 물리법칙을 현실적으로 적용하면, caustics*나 간접 조명indirect illumination (장면 내의 다른 물체로부터 반사된 빛을 반영하는 효과) 같은 광학 효과를 쉽게 시뮬레이션 할 수 있습니다. 다른 레슨에서 이러한 주제를 다룰 것입니다. 



*(역주) caustics : 그림을 보시면 이해가 빠르실 겁니다.
출처 위키피디아

2013년 7월 5일 금요일

칼빈 해리스 퓨쳐뮤직 인터뷰 -사용하는 신서사이저와 셋업, 그 외의 것들

문득 Calvin Harris는 무슨 신서사이저를 쓰나 궁금해져서 검색했는데 Future Music 인터뷰가 나왔다. 
유익한 내용이 매우 많다. 언제부터 작곡을 시작했고, 처음 가진 장비가 무엇이었고, 보통 어떤 식으로 사운드를 만드는지 등... 왜 이걸 진작 검색해 볼 생각을 못 했을까?


소싱sourcing의 중요성을 다시한번 느낀다.