posted by cimple 2010. 1. 19. 08:19

더 로드
감독 존 힐코트 (2009 / 미국)
출연 비고 모르텐슨, 샤를리즈 테론, 가이 피어스, 로버트 듀발
상세보기


2010년의 첫 영화.

그러고 보니 2010년의 첫 영화였습니다. 하지만 누군가와 함께 보러 가자고 하기에는 영화의 재미에 대한 거의 확고한 마이너스적인 보장이 있었기에 그냥 혼자 보러 갔다 왔습니다.

이거슨_인증.jpg


'The Road' 를 극장에서 본 이유는 80% 정도 의무감에서였습니다. 지난 학기에 진행했던 'Robot on the Road' 라는 프로젝트가 바로 이 영화의 원작 소설 'The Road' 를 모티브로 하여 만들어졌기 때문입니다. 그것만 아니라면, 사실 소설로 이미 보았던 작품을 다시 영화로 본다는 것은 저에게는 그다지 내키지 않는 일입니다. 한국 영화는 퇴마록이 그랬고, 외국 영화는 해리포터가 그랬군요. 금방 떠올려 보아도 별로 만족스럽지 않았던 기억들입니다.

소설을 읽으면서 상상하는 세계가 훨씬 재미있습니다. 영상으로 옮겨진 소설의 세계는, 제가 생각하지 못했던 부분을 눈에 보이게 만들어 준 좋은 면도 있지만, 대체적으로 실망스러울 때가 많습니다. 뭐, 저의 상상력이 소설 원작 영화의 감독들보다 더 뛰어나다는 그런 주제넘은 이야기는 아니고, 그냥 상상력의 넓이와 깊이가 제한되어 버리는 듯한 느낌이 싫습니다. 그래서 원작 소설을 이미 본 작품을 영화로 감상하는 것은 그다지 내키는 일은 아닙니다.

그래도 'The Road' 는 우려하던 것 보다는 괜찮았습니다. 재미는 없었지만, 기대하던 것 보다는 훨씬 나았던 것 같습니다. 그리고 소설에서는 얻지 못했던 것도 얻었고요.


가슴에 불을 가지고 있습니까?

영화에 대한 내용은 이미 한번 책을 리뷰하면서 언급했기 때문에 구체적인 내용은 다시 언급하지는 않도록 하겠습니다.


<소설 'The Road' 리뷰 보러가기>


하지만 이번에는 영화를 보면서, 소설에서는 그다지 감명깊게 와닿지 않았다가 영화를 보면서 새삼스럽게 고개를 끄덕거리게 만든 부분이 있어서, 그 부분만을 언급해 보려고 합니다.

영화에서, 아버지는 아들에게 가슴에 있는 불을 꺼뜨려서는 안 된다고 가르칩니다. 원작 소설에서는 소설이 시작되기 전에 아버지가 아들에게 이것을 이미 말했었고, 아들이 중간 중간에 아버지에게 "우리는 불을 운반하는 사람이지요?" 라고 묻는 장면으로 나오죠.

가슴에 가지고 있는 불.

주위의 사람을 둘러 보았습니다. 의외로 가슴에 불을 가지고 있는 사람과, 그렇지 않은 사람을 구별하기가 쉽다고 느껴졌습니다. 딱히 무엇이라고 말로 하기는 어려운 일이지만, 그리고 정말로 그 사람이 가슴에 불을 가지고 있는가 아닌가 제가 함부로 판단내릴 수 있는 일도 아니지만, 그럼에도 불구하고 가슴에 불을 가지고 있는 사람을 만나기란 그렇게 어려운 일은 아닌 것 같습니다. 비슷한 자리에서, 비슷한 일을 하고 있는데도, 이 차이가 분명히 드러나는 사람이 있습니다.

똑같은 일을 하고 있음에도, 어떤 사람은 가슴에 불을 가지고 있습니다. 그런 사람은 무언가 다릅니다. 그런 사람은 참 멋있습니다. 내가 알지 못하는 깊이와 가늠하기 어려운 높이가 있습니다. 불이란 표현이 적당할 정도로, 그 사람에게는 온기가 있고 주변 사람조차 따듯하게 만드는 에너지가 있습니다.

하지만 안타깝게도 불을 가지고 있지 않은 사람도 있습니다. 하루 하루의 삶이 그냥 그 날의 삶을 살아가는 데 소모됩니다. 너무도 얕아서 손만 뻗어도 그 바닥이 만져질 것 같은 사람입니다. 남들이 알지 못하는 자기만의 생각과, 꿈과, 노력들이 없습니다. 텅 비어있는 내면을 감추기 위해 겉 껍데기를 그럴듯하게 보이기에 애씁니다. 하지만 그 바스라지기 쉬운 위태로운 포장지는 스스로도 알고, 남들도 이미 모두 알고 있습니다. 단지 모른 척 하고 있을 뿐.

제 자신을 보며, 과연 나는 불을 가지고 있는 사람인가 물어보았을 때 화들짝 놀라게 됩니다. 불을 가지지 않은 사람의 모습만을 골라 가지고 있는 듯 하여 부끄럽기 짝이 없습니다. 하루 하루 꾸역 꾸역 버텨 낼 뿐이면서, 그럴 듯하게 보이기 위해 화려한 미사여구로 내 삶을 치장해보지만, 결국 실속과 실체가 없는 허깨비같은 삶 같습니다. 그리고 불을 가지고 있으면서 뜨겁게 하루 하루를 태워 나가는 내 주위의 영웅들을 볼 때마다, 부러움과 함께 시샘이 듭니다. 이 옹졸한 마음을 어떻게 해야 할까요. 이 나약한 사람은 어떻게 해야 할까요.

다시 한 번 마음을 다잡아 봅니다. 나의 가슴을 저릿하게 만들었던, 그 불꽃의 온기들을 다시 떠올려 봅니다. 내가 가장 잘 할 수 있는 것. 나의 마음을 움직이게 만들었던 것. 나의 삶을 진짜 삶처럼 만들어 주었던 것.

흩어져가는 자아를 추스리고, 부스러기 조각이 되어버린 꿈들을 한 조각 한 조각 정성스레 모아 봅니다. 언젠가 나의 삶의 온기가가 회복되어, 다시 한 번 불꽃이 타올라, 주위의 많은 사람들을 따듯하게 만들어 줄 그 날을 그려봅니다. 참 행복할 것 같습니다. 그게 제가 걸어가야 할 길이라면, 한번 걸어 가고 싶습니다.

그리고 그것이, 당신도 함께 딛어봄직한 'The Road' 가 아닐까 합니다.

ThEnd.

p.s. 마지막으로 영화에서 정말 인상깊었던 것은 노인 역할로 등장하는 로버트 듀발의 연기력이었습니다.

그가 흘리는 눈물이 주는 감동은 소설에서 제가 미처 상상하지 못했던 것이었습니다.

posted by cimple 2010. 1. 17. 12:30
  • 오늘은 이제동vs김구현의 MSL 4강이 있는 날입니다. 잠시 뒤면 경기가 펼쳐질 텐데, 웬만하면 이제동이 이겨서 리쌍록 결승전이 나오면 좋겠다는… MSL 결승의 저주만 펼쳐지지 않았으면. 제발.(twi2me) 2010-01-16 16:50:19
  • 이제동 선수가 3:0 으로 MSL 결승에 진출했습니다. 하지만 경기가 끝나기도 전에 이영호 선수의 얼굴을 내보내고 “우리지금만나” 와 같은 넌센스 곡을 틀어놓은 엠겜피디는 좀 각성했으면 좋겠네요. 뭡니까 이게. 김빠지게.(twi2me) 2010-01-16 19:10:20

이 글은 cimple님의 2010년 1월 16일의 미투데이 내용입니다.

posted by cimple 2010. 1. 16. 16:46

 

CGAL Open Source Project 의 목적은, 효율적이고 신뢰할 수 있는 Geometric Algorithm 을 C++ 라이브러리 형태로 제공하는 데 있습니다.

 

 

CGAL 의 매뉴얼 형태

 

CGAL 의 Documentation 을 보면 Overview / Online Manual / Tutorials / All Manuals 로 나뉘어져 있습니다.

여기서 Overview 에 들어가면 크게 17개의 Part로 나뉘어져 있고, 각 Part 는 몇 개씩의Chapter 들이 있는데, 각 Chapter 마다 User Manual 과 Reference Manual 로 나뉘어져 있습니다.

User Manual 은 해당 Chapter 의 대략적인 설명과 함께 예제들이 나와 있고, Reference Manual 은 Class 와 Function 에 대한 자세한 설명들이 나와 있습니다.

 

 

 

CGAL 의 Hello World

 

CGAL 의 'Hello World' 라면서 가장 처음에 나오는 예제가 이것입니다.

 

 

뭔가 좀 황당하기도 한데… (그렇다고 CGAL 이 Hello World 를 찍는 것을 첫 번째 예제로 할 수도 없는 일이니)

CGAL 의 첫 입문은 5개 Point 의 Covex Hull 을 구하는 것부터 시작됩니다. 굉장히 간단한 프로그램처럼 보이지만, 생각보다 그렇게 간단하지는 않습니다.

먼저 CGAL의 Exact_predicates_inexact_constructions_kernel 이라는 커널을 K로 정의하고 그 K로부터 Point 2 를 정의합니다.

이 Point2 클래스의 객체 points 라는 녀석도 참 희한합니다. 일단 2D 평면좌표 2개를 가지고 초기화되는 클래스라는 사실은 알겠는데,

일단 convex_hull_2 라는 함수에서 convex hull 을 이루는 점을 반환하는 공간은 result 인데, 이 함수 전체가 리턴하는 값은 Point_2 의 포인터인 ptr 입니다.

Iterator 를 도는 것도, points 에서부터 points+5 를 돌면 points[5] 라는 배열 전체를 한바퀴 돈다고 하는데 이것도 잘 이해가 가지 않고,

ptr-result 를 하면 convex hull 을 이루고 있는 점들의 개수가 나온다는 것도 잘 이해가 가지 않습니다.

result 는 분명 convex hull 을 이루고 있는 점들입니다. result[0], result[1], result[2] 가 바로 convex hull 을 이루는 점들이었거든요.

 

설명을 해 보면 이렇습니다.

 

일단 Exact_predicates_inexact_constructions_kernel 이라는 커널은 실제로 지오메트리를 construct 해 주지는 않지만, 점들의 좌표 정보나 방향 등을 간단하게 알아보는 데 사용되는 커널입니다.

 

convex_hull_2 함수는 3개의 인수를 가지는데, input 의 시작점 포인터와, 마지막 점 바로 다음의 포인터, 그리고 결과물의 첫 포인터 입니다.

배열의 이름은 곧 포인터로 사용되기 때문에, 위의 예제에서 points 는 points[5] 배열의 첫 번째 요소, 즉 points[0] 을 의미하게 되겠고, 그 주소값을 가지고 있을 것입니다.

points[1] 의 주소값은 points+1 과 같습니다. 그러므로 points+5 는 points 배열이 끝나는 points[4] 의 바로 다음 주소지요. 마지막 점 바로 다음의 포인터입니다.

그리고 result 에 convex-hull 을 이루는 점들이 배열 형태로 저장되게 되고, result 는 동시에 그 배열의 첫 번째 요소를 가리키는 포인터입니다.

 

그리고 convex_hull_2 함수는 리턴하는 값이 있는데, convex hull 을 이루는 배열 바로 다음 주소의 포인터를 반환합니다.

따라서 ptr-result 를 하게 되면, ptr 의 주소값이 result 의 첫 번째 요소의 주소값으로부터 얼마나 떨어져 있는가를 알 수 있게 되고, 그로부터 result 의 크기를 알 수 있게 됩니다.

 

저 또한 포인터와 배열의 관계에 대해서 조금 불명확하게 알고 있었기 때문에 (사실 이 부분은 C 문법에 해당합니다) 조금 헷갈리는 부분이 있는데

보충 설명이 필요하다면 미팅 시간에 설명하도록 하겠습니다

 

 

다음은 같은 예제를 STL 을 사용하여 표현하는 방법입니다.

CGAL 의 Point_2 라는 클래스 자료형태를 vector 로 묶었습니다.

 

보시는 바와 같이, STL 로 Points 와 result 라는 벡터를 만듭니다.

그러면 convex_hull_2 함수가 벡터의 begin() 부터 end() 까지 iterator 를 돌면서 convex_hull 을 찾아주고, back_inserter 함수로 result 라는 벡터에 해당 결과들을 밀어 넣습니다.

이 result 의 크기만 측정하면 convex hull 을 이루는 점의 개수를 알 수 있겠죠. 이번에는 굳이 convex_hull_2 함수의 리턴값을 사용할 필요가 없을 것입니다.

 

 

 

마지막으로 유저로부터 입력받은 좌표로부터 convex hull 을 구하는 프로그램입니다.

이번에는 낯선 것이 'iterator' 라는 것을 include 하는군요.

 

 

실행 결과는 정말 신기합니다;;;

 

 

제가 이런 실행 결과를 원하면서 같은 프로그램을 만들었다면 for 문과 if 문의 향연이 되었을텐데, istream_iterator 와 ostream_iterator 로 이렇게 간결하고 멋진 프로그램이 작성이 가능합니다.

(STL 에 놀라고 있을 때가 아니라 CGAL 을 알아봐야 하는건데 이 무슨;;;)

 

 

좌우지간 Hello World 부터 쉽지만은 않습니다.

 

그렇다고 못할 것도 없죠.

 

ThEnd.

posted by cimple 2010. 1. 15. 12:30
  • 스테레오스코픽(3D 입체영화)연구를 위한 아이트래킹 실험 모습입니다 생각보다 고되군요 ㅠㅠ(me2mms me2photo) 2010-01-14 13:50:25

    me2photo

이 글은 cimple님의 2010년 1월 14일의 미투데이 내용입니다.

posted by cimple 2010. 1. 14. 12:30
  • 랩에 대대적인 자리 이동이 있었습니다. 이제야 조금 자리가 안정된 느낌이네요. 부산스러웠던 시간은 지나고 이제 완전히 정착해서 공부할 일만 남아 있습니다. 좋은 결과 있기를!(twi2me) 2010-01-14 11:10:29

이 글은 cimple님의 2010년 1월 14일의 미투데이 내용입니다.

posted by cimple 2010. 1. 13. 12:30

이 글은 cimple님의 2010년 1월 12일의 미투데이 내용입니다.

posted by cimple 2010. 1. 11. 01:51

내가 보았던 사랑에 대한 가장 멋진 정의는

내가 자주 들르는 한 인터넷 커뮤니티에서 보았다.






나 : 음...

(그분에게 문자가 옵니다!)

그분 : 뭐하니? 빵꾸똥꾸야!

나 : 음... 그냥 이것 저것 읽으면서 사색중!

그분 : 뭔데 그리 생각이 많으실까?



5분뒤...



그분 : 너♥




우와...







ThEnd.
posted by cimple 2010. 1. 11. 01:14


 
가수가 노래부르는 동영상 같은 것을 모으거나 하는 취미는 없지만

정말로 브라운 아이드 소울, 특히 나얼의 가창력은

그것을 듣고 있으면, 이 순간을 언젠가 잃어버리지나 않을까 불안해질 정도로 좋은 노래를 들려준다.


그래서, 여기에 간직해본다.

ThEnd.
posted by cimple 2010. 1. 7. 07:00



CGAL (Computational Geometry Algorithms Library) 은 오픈 소스 기반의 강력한 Geometry Library 입니다. 하지만 조금 복잡한 설치 과정 때문에 설치에 어려움을 겪는 분들이 많은 것 같습니다. 제가 성공했던 설치 과정과 구성을 말씀드리고, 조금이나마 손쉽게 CGAL 을 사용할 수 있도록 하는 바램으로 포스팅을 해 봅니다.



CGAL 라이브러리 설치하기


1. 필요한 파일 다운로드

(1) 먼저 CGAL 을 다운로드 받습니다. 가장 간편한 것은 Windows install 버전을 받는 것입니다.
아래의 링크에서 CGAL 최신 버전의 파일을 받습니다. 제 경우에는 CGAL-3.5.1-Setup.exe 파일을 다운로드 받았습니다.

CGAL 다운로드

(2) Cmake 를 다운로드 받습니다. 역시 Windows install 버전을 받습니다. 제 경우에는 cmake-2.8.0-win32-x86.exe 파일을 다운로드 받았습니다. 아래 링크에서 다운로드 받습니다.

Cmake 다운로드

(3) QT 를 다운로드 받습니다. 아래 링크에서 다운로드 받을 수 있습니다. 제 경우에는 4.6.0 버전입니다.

QT 다운로드

(4) MinGW 를 다운로드 받습니다. 아래 링크에서 다운로드 받을 수 있습니다. 제 경우에는 5.1.6 버전입니다.

MinGW 다운로드

(5) Boost 를 다운로드 받습니다. 아래의 링크에서 Windows install 버전을 다운로드 받습니다.

Boost install version 다운로드


뭐가 이렇게 필요한 게 많어? 라고 생각하실 수도 있습니다. CGAL 을 설치하는 데 번거로운 것이 이러한 다양한 프로그램들을 순서대로 잘 설치하고, 설정을 해 주는 것이 생각보다 까다롭기 때문입니다.

자, 이제 필요한 파일은 모두 다운로드 받았습니다. 이제 본격적으로 설치를 해 보도록 하겠습니다.

설치에 앞서서 한가지 당부 말씀은, 라이브러리 설치에 익숙하지 않으신 분들은 웬만하면 과정을 그대로 따라하시고, 설치 경로명까지 일치시켜 주셨으면 합니다. 설치 경로명이 조금씩 달라지거나, 경로명 안에 한글 혹은 공백이 있으면 오류가 발생하는 경우가 빈번하기 때문입니다.

2. Cmake 인스톨

(1) 다운로드 받은 cmake 파일을 실행시켜서 인스톨을 시작합니다. 인스톨을 진행하다 보면 다음과 같이 인스톨 옵션을 묻는 화면이 나옵니다.


보시는 바와 같이 system PATH 에 cmake 를 등록하는 메뉴를 선택합니다. 그리고 계속 다음> 을 눌러서 cmake 를 설치합니다.

(2) 그리고 나서 환경 변수에 등록을 해야 합니다. 환경 변수에 등록하는 방법은 '내 컴퓨터' 에서 우클릭>'속성' 에 들어갑니다.



다음 '고급' 탭 안에 있는 '환경 변수' 를 클릭합니다.



환경 변수 윈도우를 보면 아래에 '시스템 변수' 메뉴 중에서 PATH 를 찾아서 누르고 '편집' 을 누릅니다.


그럼 이제까지 등록한 변수들이 나오고, 새로운 시스템 변수를 추가할 수 있는 '시스템 편수 편집' 윈도우가 나타납니다. 여기에 환경 변수를 추가해 주면 되는 것입니다. 환경 변수를 추가할 때에는 구분이 되는 세미콜론(;) 을 끝에 붙여 주면 됩니다.



여기에 cmake 의 바이너리 폴더 주소를 환경 변수로 등록해 줍니다. 저 같은 경우에는 C:\Program Files\CMake 2.6\bin 을 추가시켜 주었습니다.


3. Boost 인스톨

Boost 는 설치 과정에 약간 귀찮은 부분들이 있습니다. 아마도 Boost 가 강력하기는 한데, 오랜 시간에 걸쳐 많은 사람들에게 의해 만들어진 라이브러리이다 보니 이러한 과정들이 필요한 것 같습니다.

(1) Boost 의 인스톨 버전을 다운로드 받았으니, 이것을 가지고 설치를 해 줍니다. 설치 과정중에 보면 다음과 같이 설정을 묻는 화면이 나오는데, 자신이 사용할 컴파일러를 선택하고, 나머지는 전부 선택합니다.


다음에 나오는 화면에서, Boost 의 각 콤포넌트들을 설치하는 옵션 선택 화면이 나옵니다. 저 같은 경우에는 아래 그림처럼 모든 옵션에 대해서 VC9.0(Visual Studio 2008) 으로 선택해 주고 설치하였습니다.


그리고 다음의 경로로 install 해 줍니다. 제 경우에는 C:\boost\boost_1_38 입니다.




(2) boost 의 바이너리 폴더를 아까 cmake 에서 했듯이 환경 변수에 등록해줍니다. 제 경우에는 C:\boost\boost_1_38\bin 입니다. 





4. MinGW 인스톨

(1) MinGW 를 인스톨하는 방법은 어렵지 않습니다. 그냥 다운로드 받은 MinGW 설치 파일을 실행시키고, 별다른 옵션 설정 없이 Next 연타로 설치하시면 됩니다.

(2) MinGW 의 바이너리 폴더를 환경 변수에 등록시켜 줍니다. 제 경우에는 C:\MinGW\bin 입니다.


5. QT 인스톨

한가지 말씀드릴 사항이 있습니다! QT 를 인스톨하는 과정은 굉장히 오래 걸립니다. 제 경우에는 5시간(!) 이 소요되었습니다. 따라서 이 작업을 하실 때에는 자리를 오랫동안 비우시거나 잠자러 가기 전에 하실 것을 권합니다.

(1) 다운로드 받았던 QT 설치 파일을 실행시킵니다.

(2) Next 연타를 하다보면 MinGW 와 관련하여 이런 경고메시지가 뜨는 것을 알 수 있습니다. 그러나 위에서 MinGW 를 잘 인스톨 하셨다면 이 경고메시지는 무시해도 상관 없습니다. 그냥 continue 하면 됩니다.




(3) 다음은 Visual Studio Command Prompt 를 실행시킵니다. 제 경우에는 시작>모든 프로그램>Visual Studio 2008>Visual Studio Tools>Visual Studio 명령 프롬프트  로 실행시켰습니다.

(4) Visual Studio 명령 프롬프트를 실행시킨 다음, cd 명령을 이용해서 QT 폴더로 이동합니다.


(5) 다음 configure 를 입력합니다.
그 다음 묻는 것이 버전마다 조금씩 달라질 수는 있는데, 제 경우에는 먼저 Open source 로 이용할 것이라는 의미의 'o' 를 입력한 다음, 라이선스에 동의하는 'y' 를 입력합니다. 이 과정도 약간의 시간이 걸립니다.



(6) 완료되면, 바로 이 과정이 5시간이 넘게 걸리는 과정입니다. 커맨드 라인에 'nmake' 를 입력하고 난 후, 컴퓨터를 떠나가면 됩니다. 저도 자고 오니 완료되어 있더군요.

한숨 자고 오세요




(7) 완료되면, 환경 변수에 QT 의 바이너리 폴더를 등록시켜 줍니다. 제 경우에는 C:\Qt\4.6.0\bin 입니다.

(8) 컴퓨터를 다시 재부팅해 줍니다. 지금 이 포스트를 잠시 메모해 두고 컴퓨터를 껐다 켜셔야겠죠?



6. CGAL 인스톨

(1) 이제야 CGAL 인스톨입니다;;; 다운로드 받았던 CGAL 인스톨 버전을 실행시켜서 인스톨을 시작합니다.

(2) 다음과 같은 설정 화면이 나오면 원하는 버전의 컴파일러를 선택하고, 모두 선택한 다음에 next 를 해 줍니다.


(3) 이번 과정은 매우 중요한 과정입니다. 제가 한번 완전히 CGAL 을 설치하고 소스코드 컴파일까지 성공했음에도 실행파일에 문제가 생기는 이유는 이 과정에서 문제가 있었을 가능성이 큽니다.

CGAL 설치 폴더를 설정하는데, 보통 그림과 같이 Program Files 에 그대로 설치해버리기 쉽습니다. 그런데 CGAL 홈페이지에서도 이 설치경로에 공백이 절대로 들어가지 않아야 한다고 말합니다.

이렇게 설치하면 안됩니다.


그래서 아래와 같은 경로에 설치할 것을 권장합니다. 중요한 것은 경로명에 공백이 포함되어서는 안 된다는 것입니다.

(4) 다음은 Next 연타로 인스톨을 해 줍니다.

(5) 환경 변수에 QT 의 루트 디렉토리를 등록해 줍니다. 제 경우에는 C:\Qt\4.6.0 입니다.

(6) 환경 변수에 Boost 의 루트 디렉토리를 등록해 줍니다. 제 경우에는 C:\boost\boost_1_38_0 입니다.

(7) 시작>실행>cmd 로 명령 프롬프트 창을 띄웁니다. 그리고 cd 명령어를 이용해서 CGAL 폴더로 이동합니다.

(8) cmake-gui . (한칸 띄우고 마침표) 를 입력해서, Cmake gui 를 실행시킵니다.

(9) Cmake 가 실행되면, 왼쪽 아래의 configure 버튼을 눌러서 원하는 버전의 컴파일러를 선택합니다. 저 같은 경우에는 Visual Studio 2008 을 선택했습니다.

(10) 제 경우에는 해당이 없었지만, Cygwin 이 인스톨되어 있는 경우에는 configure 하는 과정에서 GMP 나 MPFR 의 경로를 제대로 찾지 못하는 경우가 있습니다. 이런 경우에는 GMP 탭 안의GMP_INCLUDE_DIR 과 MPFR_INCLUDE_DIR 을 C:\CGAL\CGAL-3.5.1\auxiliary\gmp\include 폴더로 설정해 줍니다. (버전명은 당연히 제가 현재 인스톨한 CGAL 버전이므로, 달라질 수 있습니다.)

(11) CMAKE 탭 안에 있는 CMAKE_BUILD_TYPE 이 Release 로 되어 있다면, 더블클릭해서 Debug 로 고쳐 넣어 줍니다.

(12) WITH 탭 안에 있는 WITH_demos 와 WITH_examples 는 필요하다면 체크해서 함께 컴파일해서 사용할 수 있습니다. 저 같은 경우에는 체크했지만, 빌드 시간을 좀 더 오래 걸리게 하는 주범인 듯 합니다.

(13) Configure 버튼을 Generate 버튼이 활성화 될 때까지 계속해서 눌러 줍니다.

(13-1) 이 부분에서, boost 와 관련한 오류가 발생하는 것을 확인했습니다.
boost 의 라이브러리 폴더를 찾지 못한다고 하면서,

Boost_LIBRARYDIR 과
BOOST_ROOT 를 추가해 보라고 지시하는 것을 확인했습니다.

cmake 에서 '+Add Entry' 버튼을 누른 다음, 이름은 위에서 지시한 대로(Boost_LIBRARYDIR 과 BOOST_ROOT), Type 은 Path, Value 는 해당 경로(저의 경우 Boost_LIBRARYDIR 은 C:\boost\boost_1_38_0\lib, BOOST_ROOT 는 C:\boost\boost_1_38_0 ) 를 찾아 주어서 각각 추가해줍니다.

(13-2) Generate 버튼이 활성화되면 Generate 버튼도 눌러 줍니다.

(14) 성공적으로 빌드되면 솔루션 파일이 C:\CGAL\CGAL-3.5.1 에 생성됩니다.


(15) 솔루션 파일을 열어서 Visual Studio 를 실행시키고, cmake 를 닫습니다.

(16) Visual Studio 가 실행되면, 빌드(Build) 메뉴에서 솔루션 정리(Clean Solution) 를 눌러서 솔루션을 정리하고, 다시 빌드(Build) 메뉴의 솔루션 다시 빌드(Rebuild Solution) 버튼을 눌러서 다시 빌드해 줍니다.

(17) 됐습니다! 이제 CGAL 라이브러리 설치가 완료되었습니다.

만쉐!







환경 변수 설정 확인


제 환경 변수 설정은 다음과 같습니다. (통째로 복사했습니다;)

C:\Program Files\Autodesk\Maya2009\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Autodesk\Backburner\;C:\Program Files\Common Files\Autodesk Shared\;C:\APM_Setup\Server\Apache\bin;C:\APM_Setup\Server\MySQL5\bin;C:\APM_Setup\Server\PHP5;C:\Program Files\CMake 2.6\bin;C:\boost\boost_1_38\bin;C:\MinGW\bin;C:\Qt\4.6.0\bin;C:\CGAL\CGAL-3.5.1\auxiliary\gmp\lib;C:\Qt\4.6.0;C:\boost\boost_1_38;



Visual Studio Project 설정

1. Visual Studio 의 도구>옵션 에서 '프로젝트 및 솔루션' 탭의 'VC++ 디렉터리' 에 들어갑니다.

2.  포함 파일에 다음의 경로들을 추가시켜 줍니다.

C:\boost\boost_1_38
C:\CGAL\CGAL-3.5.1\include
C:\Qt\4.6.0\include
C:\CGAL\CGAL-3.5.1\auxiliary\taucs\include
C:\CGAL\CGAL-3.5.1\auxiliary\gmp\include



3. 라이브러리 파일에 다음의 경로들을 추가시켜 줍니다.

C:\boost\boost_1_38\lib
C:\Qt\4.6.0\lib
C:\CGAL\CGAL-3.5.1\lib
C:\CGAL\CGAL-3.5.1\auxiliary\taucs\lib
C:\CGAL\CGAL-3.5.1\auxiliary\gmp\lib



4. 다음은 개별 프로젝트의 설정입니다. 일단 프로젝트를 생성할 때, 저는 테스트를 위해서 Win32 콘솔 응용 프로젝트 > 빈 프로젝트 로 만들었습니다. 그리고 C++ 파일 하나를 새 항목으로 추가해 줍니다.

5. 프로젝트에서 우클릭으로 '속성' 창을 엽니다.



6. C/C++ > 일반(General) 탭에서 추가 포함 디렉터리(Additional Include Directories) 에서 다음을 추가해줍니다.


C:\Qt\4.6.0\include\QtCore
C:\Qt\4.6.0\include\QtGui
C:\Qt\4.6.0\include
C:\Qt\4.6.0\include\ActiveQt
debug
.
C:\Qt\4.6.0\mkspecs\win32-msvc2008


위에서  debug  나 콤마는 그대로 입력해주면 되고, msvc2008 도 현재 사용하고 있는 Visual Studio 의 버전대로 선택해서 고쳐 주면 됩니다. 그리고 QT 의 디렉토리들은 사용자가 필요한 기능을 include 해서 사용하면 되는 구조로 되어 있으므로, 현재 include 한 것은 초보자들에게 필요한 폴더들입니다.



7. 다음, 링커(Linker)>입력(Input)>추가 종속성(Additional Dependancies) 에서 다음을 추가해 줍니다.


C:\Qt\4.6.0\lib\qtmaind.lib
C:\Qt\4.6.0\lib\QtGuid4.lib
C:\Qt\4.6.0\lib\QtCored4.lib
opengl32.lib


8. 이제 Visual Studio 의 셋팅도 끝났습니다.




TEST


그럼 CGAL 이 잘 돌아가는지 테스트 해 보도록 하겠습니다.

바로 위에서 프로젝트를 만들었다면, 아래의 소스 코드를 복사해서 붙여넣기 해 봅시다.


#include <iostream>
#include <boost/format.hpp>
#include <QtGui>
#include <CGAL/Qt/GraphicsViewNavigation.h>
#include <QLineF>
#include <QRectF>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QGraphicsScene scene;
scene.setSceneRect(0,0, 100, 100);
scene.addRect(QRectF(0,0, 100, 100), QPen(QColor(255,0,0)));
scene.addLine(QLineF(0,0, 100, 100));
scene.addLine(QLineF(0,100, 100, 0));
QGraphicsView* view = new QGraphicsView(&scene);
CGAL::Qt::GraphicsViewNavigation navigation;
view->installEventFilter(&navigation);
view->viewport()->installEventFilter(&navigation);
view->setRenderHint(QPainter::Antialiasing);
view->show();
return app.exec();
}


그리고 나서, 컴파일하고 실행시켜 봅니다. 다음과 같은 창이 뜨면 성공입니다.






까다로운 설치 과정이지만, 그만큼 CGAL 은 훌륭한 기능들을 제공하고 있습니다. 아무쪼록 이 포스팅이 CGAL 설치에 어려움을 겪는 분들에게 조금이나마 도움이 되었으면 하는 바램입니다.

감사합니다.




ThEnd.




posted by cimple 2010. 1. 4. 05:15

아바타
감독 제임스 카메론 (2009 / 미국)
출연 샘 워딩튼, 조이 살디나, 시고니 위버, 스티븐 랭
상세보기



"I'm the king of the world!"

"나는 세상의 왕이다" 라고 외치는 제임스 카메론



제임스 카메론이 '타이타닉' 으로 전 세계 관객들과 오스카를 휩쓴 지 12년의 세월이 흘렀습니다. 당시 제임스 카메론은 극중 잭의 대사를 인용하여 시상대에 올라 이렇게 외쳤죠.

"I'm the king of the world!"

그의 이 말은 어찌 보면 오만한 대사처럼 들릴 수도 있겠습니만, 어쨌거나 10년이 넘는 세월동안 그의 영화 '타이타닉' 은 미국내, 그리고 전세계 박스오피스에 있어 여전히 부동의 1위를 차지하고 있습니다. 혹자는 타이타닉의 17주 연속 미국 박스오피스 1위의 기록은 영원히 깨지지 않을 것이라고도 말합니다. 엄청난 흥행 돌풍을 일으키며, 타이타닉에 도전한다고까지 여겨졌던 크리스토퍼 놀란 감독의 '다크 나이트' 조차 4주 1위에 그친 것을 보면 단지 허언은 아닌 것 같습니다. 헐리우드에서, 제임스 카메론이라는 이름은 여전히 '왕' 입니다.

말 그대로 '공전의 히트' 를 기록한 영화, 타이타닉

2009년 12월, 12년만에 영화 'AVATAR' 로 왕이 귀환했습니다. 그러고 보니 딱히 큰 의미는 없지만, '왕의 귀환' 은 장차 타이타닉의 아성을 무너뜨릴 감독이 아닐까 여겨지는, 피터 잭슨의 영화 제목이기도 하군요. 실제로 타이타닉에 이어 월드 박스오피스 2위를 기록하고 있기도 하고요. 예, 쓸데없는 말이었습니다.

하지만 피터 잭슨을 언급한 것은 전혀 쓸데없는 일만은 아닌것 같군요. 쉬어빠진 헐리우드의 스타일과, 그 스타일의 유령들. 스티븐 스필버그, 조지 루카스, 제임스 카메론 등으로 대변되는 그 낡은 스토리텔링과 연출을 혁신시킬 새로운 피는 누구일까. 새로운 감독은 누구일까. 사람들은 궁금해 합니다. 하지만 그 역할을 마이클 베이가 감당하리라고 하기에는 뭔가 석연찮습니다. 그는 헐리우드가 쌓아온 옛 영광의 끝자락에서 이전의 공식들을 충실히 재현해 나가고 있는 '클래식한' 감독이 아닐까 합니다. 새로운 변혁과, 신선한 흐름을 이야기할때, 그래도 사람들은 피터 잭슨을 많이 언급하고, 저도 동의합니다. 영화에서 드러나는 그의 거침없는 상상력과 신선한 스토리텔링은 사람들에게 충격을 가져다 주었고, 그 변화의 물결을 자신이 의도하는 방향으로 인도합니다.

하지만 '나는 아직 죽지 않았어!' 라고 외치듯이 제임스 카메론이 '아바타' 를 들고 돌아왔습니다. 그리고 그 반향은 결코 조용한 것이 아닌 듯 합니다. 세계는 그가 들고 온 한 편의 영화에 적지 않게 소란해졌습니다. 제임스 카메론의 머릿속에 훨씬 오래전부터 그리고 있었다는 세계관과 스토리. 그는 그 모든 상상의 세계를 구현해 놓고, 12년 후 단지 그것을 다른 사람도 볼 수 있게 만들었을 뿐입니다. 마치 모차르트가 머릿속으로 이미 작곡해 놓고 단지 오선지에 옮겨 적었다 했듯이.


영화의 줄거리

'아바타' 의 포스터


영화의 줄거리를 말하자면 먼저 떠오르는 영화가 몇 개 있습니다. '원령공주', '포카혼타스', '라스트 사무라이' 등. 사실 이들 영화를 보신 분들이라면, 특별한 말 없이 이런 영화들이 언급되었다는 사실 자체만으로도 영화 '아바타' 의 줄거리는 보지 않고도 어느 정도 가늠할 수 있을 것입니다.

미래, 지구는 환경이 오염되고 자원이 고갈되어 갑니다. 이 때, 지구인들은 외계 행성 판도라와, 그 판도라 행성에 묻혀 있는 어마어마한 대체 자원을 찾아냅니다. 허나 이 외계 행성 판도라에는 정체모를 외계 생물들과 함께 외계인 종족 '나비' 족이 살고 있습니다. 나비족은 비록 발달된 과학문명을 소유하고 있지는 않지만, 자연과 호흡하며 하나가 되어 살아가는 종족으로 그들 나름의 신앙 체계와 문화를 구축하고 있습니다. 인간들은 이들과 접촉하기 위하여, 나비족과 인간의 유전자를 결합시킨 '아바타' 를 만들어 냅니다. 그리고 사람의 신경을 아바타에 접속시켜, 이들과 만나고 이야기하며 그들을 설득하려 합니다. 영화는 여기에서 시작합니다.

쌍둥이 형의 죽음으로 인해 아바타 프로젝트에 참여하게 된 주인공 제이크 설리(샘 워싱턴) 는, 사고로 인해 두 다리를 쓰지 못하는 미 해병대원입니다. 그는 지구군(軍) 지도자인 마일즈 대령(스티븐 랭)으로부터 몰래 군사적으로 유용한 정보를 빼내올 것을 지시받습니다. 그 대신, 충실하게 임무를 이행하면 두 다리를 고쳐 주겠다는 약속을 받고 말이죠. 제이크는 그렇게 아바타 프로젝트에 참여하고, 아바타에 접속하게 됩니다.

파괴적 인간으로 대표되는 마일즈 대령

아바타의 몸을 입게 된 제이크는 우연히 나비족 추장의 딸 '네이티리'와 만나게 됩니다. 원래 제이크를 죽이려 했던 네이티리는 그가 대지의 신 '에이와' 의 알수 없는 선택을 받았음을 알고, 그가 정말 자격이 있는 자인지 알아보기 위해 자신의 종족 곁으로 데려옵니다. 나비족은 지구인들을 '하늘의 사람' 이라 부르며, 그들의 아바타 프로젝트 또한 알고 있기에 자신들의 모습을 하고는 있지만 제이크를 적대시하고 멀리합니다. 제이크는 그들 안에서 함께 어울리며, 그들의 인정을 받기 위해서 문화와 관습, 신념을 배워 나갑니다. 처음에는 충실한 정탐꾼 역할을 하지만, 점차 제이크는 자연과 함께하며 자연을 존중하고, 자연속에 어우러지는 나비족의 삶에 빠져듭니다. 그리고, 훌륭하게 모든 시험을 통과해 내고 멋지게 성장한 제이크와, 그 성장을 곁에서 도왔던 네이티리는 사랑에 빠집니다.

제이크와 네이티리 눈맞는장면

그러나 탐욕에 빠진 인간들은 끝내 자신들의 욕심을 채우기 위해서 나비족에 대한 대대적인 공격을 감행합니다. 인간들의 강력한 최신 무기 앞에서 물질문명이 발달하지 못한 나비족은 속수무책으로 파괴되어갑니다. 제이크는 자신이 이 모든 인간의 파괴를 도왔다는 책임감과, 나비 족의 일원으로 인정받고 싶다는 정체성을 증명하기 위해, 나비족과 함께 목숨을 걸고 싸웁니다. 그는 통제 불가능의 괴수를 조종하는 전설의 용사 '토르크 막토' 에 도전하여 성공하고, 나비족 뿐만 아니라 판도라 행성 전체 종족을 하나로 규합하는데 성공합니다.

마침내 목숨을 건 최후의 전투. 하지만 여전히 화력에서 열세인 판도라의 원주민들은 처참하게 스러져 갑니다. 제이크를 도왔던 그의 지구인 동료들 또한 하나 하나 죽어갑니다. 그러나 절망이 가득하던 이 때, 판도라를 관장한다는 '에이와' 의 도움으로 판도라 행성 전체가 인간들을 공격합니다. 인간 군대는 패퇴하고, 자신들의 행성으로 쓸쓸히 돌아가게 됩니다. 그리고 제이크는 에이와의 도움을 통해, 더이상 아바타가 아닌, 진짜 나비족으로 새로이 태어나게 된다는 것이 영화의 전체적인 줄거리입니다.

인간들의 판도라 침공

인간의 물질문명을 비판하고 서로 다른 종족간의 화합과 이해를 다룬 전체적인 영화의 이야기 구조는 나쁘지 않고, 오히려 훌륭했다고 평하고 싶습니다. 하지만 아쉬웠던 점도 몇 가지 있었습니다. 딱 3가지만 이야기하면, 제이크와 네이티리의 사랑이 특별한 계기 없이 너무 쉽게 이루어졌다는 점, 제이크가 '토르크 막토'가 되는 과정이 너무 쉽게 처리되었다는 점, 마지막으로 영화의 가장 큰 위협이나 적은 주인공이 스스로 해결해야 한다는 스토리텔링의 암묵적인 룰이 존재하는데, 마일즈 대령을 죽이는 것이 제이크가 아니라 네이티리였다는 점. 이 세 가지가 제가 생각하는 영화 아바타에서 아쉬웠던 점이었습니다. 하지만 또 각각의 요소에 대해서 또 다른 사람들이 생각하는 나름의 이유를 들어 보니 그것들 또한 해석의 여지가 있다고 납득되어, 이것들은 저만의 아쉬움이라고 생각해도 될 것 같습니다.


"I see you"

누가 누구의 꿈이고, 누구의 아바타인가.



영화에서, 아바타에 접속하는 것은 마치 꿈처럼 묘사됩니다. 아바타에 접속해 있는 동안의 제이크는 진짜 자신이 아니지만, 두 발로 뛰어다니고, 나비족과 함께 어울리며 오히려 '진짜 자신' 을 찾아갑니다. 마치 꿈 속의 일들처럼 판도라 행성의 삶은 아름답고 신비롭게 그려집니다. 그러나 접속을 해제한 제이크는 두 다리를 쓰지 못하는 초라한 자신의 모습과, 탐욕에 물들어 있는 인간들을 보며 점차 혼란스러워합니다. 어느 것이 꿈이고, 어느 것이 현실인지. 그리고 진짜 자신은 누구인지. 정말로 '인간답다' 는 것은 어떤 것인지. 숱한 질문이 제이크와, 영화를 보고 있는 저를 괴롭혔습니다.

"i see you" 는 나비족의 서로에 대한 인사입니다. 이 인사의 의미에 대하여, 여러 가지 철학적 논의들이 영화팬들 가운데 분분한 것 같습니다. 하지만 제 생각에는, "I see you" 는 말 그대로 "나는 당신을 봅니다" 입니다. 그리고 굳이, 그 인사의 의미를 담는다면, 우리들이 '안녕하세요' 라고 인사하면서 상대방의 평안함을 묻는 것을 중요시 하듯이, 나비족에게 있어 눈앞의 상대를 인정하고, 존중하며, 그 존재와 나의 교감이 중요하지 않았을까 하는 생각입니다. 그래서 그들의 인삿말에 '나' 와 '너' 그리고 '본다' 가 함축적으로 들어가지 않았을까, 하는 생각입니다.

아름다운 네이리티.

아바타에 접속해 있는 제이크는 처음에는 네이티리와 교감할 수 없었습니다. 그러나 그가 진정으로 나비족의 철학과 생활을 이해하며 거기에 동화되자, 네이티리는 제이크가 가지고 있는 본래 성품을 알게 되고, 그 존재의 주체와 깊이 교감하게 됩니다. 사랑하게 되었죠. 그리고 그 존재의 주체는 그 껍데기가 '인간' 이든 '나비족' 이든 상관 없습니다. 영화의 마지막에, 인간 모습을 한 제이크를 네이티리는 만나게 됩니다. 작고 초라한 나약한 인간의 모습이지만, 네이티리는 그를 향해 손을 뻗으며 부드럽게 말합니다.

"I see you."

끝을 모르고 발달하는 물질 문명의 폐해와, 인간의 이기적인 욕심과 파괴 본능. 나와 다른 이를 인정하지 못하는 편협함. 그 모든 인간들의 '너무도 인간다운', 또는 '너무도 인간답지 못한' 면을 꼬집으면서, 제임스 카메론이 제시한 해답은 "I see you" 입니다. 서로의 존재를 진지하게 인정하고, 껍데기에 신경쓰는 것이 아닌 그 내면의 존재 자체에 주목하고 인정할 수 있는 능력. 그것이 인간과 인간 사이라면 반목과 갈등, 차별과 억압은 해소될 것이며, 그것이 인간과 자연 사이라면, 자연을 이해하지 못한 인간의 무분별한 파괴와 살육은 해소될 것이라는 것. 그가 12년동안 머릿속에 들어있던 모든 스토리를 응축시켜 빚어낸 단 문장의 답변입니다.



제임스 카메론, 몰입감의 야망을 드러내다.

'지구를 침공하는 외계인' 에 반대하여, '외계를 침공하는 지구인' 이라는 상상력은 아마 누구나 한번쯤 해볼 수 있을 법한 상상입니다. 그러나 전자보다 후자 영화를 실현시키기가 아마도 훨씬 어려울 수 밖에 없었을 것입니다. 당연하게도, 그 '낯선 세계' 전체를 통째로 만들어서 영상에 담아야, 사람들로 하여금 저것이 지구 어딘가에서 세트를 지어놓고 연기한다는 느낌이 들지 않게 할 수 있을 테니까요. 제임스 카메론은 그 사실을 알고 있기에, 자신의 머릿 속에 담긴 세계 전체를 '믿을 만한' 영상으로 담아낼 만한 컴퓨터 그래픽 기술력을 12년동안 기다린 것 같습니다. 어쩌면, 그건 일종의 자신감이었을수도 있겠죠. 내가 아니면, 이런 스케일의 상상력을 나보다 먼저 실현시킬 사람은 없을 것이다. 하고 말입니다.

그러나 단지 제임스 카메론이 의도한 '몰입감'은 최첨단 CG를 통해 실제와 같은 세계를 만들어, 그것을 화면에 가득 채워, 관객으로 하여금 그것을 보고 진짜처럼 여기게 하는 데 머무르지 않았습니다. 어쩌면 '타이타닉' 을 통해 그는 관객이 기존 영화를 통해 느낄 수 있는 몰입의 끝을 보고, 속된말로 '뽕을 뽑았다' 라고 할 수 있을 것입니다. 물론 그 이후로 컴퓨터 그래픽 기술력은 눈부시게 발전했지만, 어디까지나 관객이 '진짜같은' 영상을 보고 즐긴다는 테두리 안에 있었습니다. 제임스 카메론은 관객이 '진짜같은' 영상을 보기를 원하지 않았습니다. 그는 관객이 '진짜' 를 보기를 원했습니다.

3D 입체로 펼쳐지던 판도라 행성

지금 한번 주위를 둘러 보십시오. 바로 이 세계가 '진짜' 입니다. 그리고 모니터 안을 들여다 보십시오. 바로 '진짜같은' 영상이 펼쳐지는 곳입니다. 제임스 카메론은 궁극적으로 영상이 가야 할 방향은 '진짜' 라고 믿었습니다. 사실상 그는 2D 평면상에서 컴퓨터 그래픽이 가져다줄 수 있는 몰입감의 한계를 예견했고, 때문에 그는 관객이 '진짜' 에 완벽하게 몰입하도록 만들고 싶다는 야망을 품었습니다. 그리고 그 결과가 3시간 짜리 3D 영화로 제작된 '아바타' 입니다.

다음 세대의 영상 매체를 보통 우리말로 지칭하기를 '실감미디어' 라고 부릅니다. 실감미디어는 단지 3D 영상만을 의미하는 것이 아닌, 인간의 촉각, 후각 등을 포함한 오감을 만족시키는 미디어 컨텐츠를 말하며, 단방향 전송이 아닌 사용자와의 인터랙션을 포함하고, 지금보다 더욱 큰 화면에 고화질의 영상, 더욱 큰 대역폭의 전송기술 등의 개발 또한 함께 이루어지고 있습니다. 이와 관련하여 안경이 필요없는 입체 영화, 가정에서도 볼 수 있는 3D TV, 들고 다닐수 있는 모바일 3D 기술 등등이 벌써 활발하게 개발되고 있고, 관련 표준 제정에 각국이 열을 올리고 있으며, 눈치채셨겠지만 게임 산업과도 밀접하게 관련되어 있습니다. 따라서 인간에게 '진짜' 를 즐길 수 있도록 하는 실감미디어의 개발은 결국 궁극적으로 엔터테인먼트 산업 전체의 통합을 의미한다 할 수 있습니다.

아직까지 '입체영화' 가 가야할 길도 멀다.

물론 아직까지 3D 기술은 부족합니다. 당장 영화 '아바타' 만 하더라도 몰입감있게 충분히 즐기기에는 어려운 면이 많습니다. 특수 안경을 착용하여야 하기 때문에 불편하고, 화면의 어디를 바라보고 있느냐에 따라 눈이 피로하며, 디테일이 뭉개진다던가 색감이 흐려지는 단점등이 남아 있어서, 이를 해결하기 위한 관련 연구가 활발하게 진행되고 있는 중입니다. 즉, 아직까지는 3D 입체 영상 기술 하나만 해도 갈 길이 멀다는 이야기입니다. 또한 인간이 몰입감을 느끼는 이유가 단지 영상, 기술력 때문만은 아닙니다. 오히려 훌륭한 배우의 연기나, 흡입력있는 스토리 전개가 더욱 인간을 빠져들게 만드는 요인일 수도 있습니다. 3D 기술력이 오히려 영화의 감상을 방해하고, 집중력을 해친다는 생각이 들 수도 있습니다. 적어도 저는 '아바타' 가 그랬습니다. 아바타의 3D 기술력은 저에게 영화를 감상하는데 방해가 되는 장애 요인중의 하나였고, 입체 영상들은 저에게 약간의 호기심을 가져다 주었을 뿐이지 스토리텔링에 있어서, 또는 영화적 장치들에 있어서 그 어떤 눈에 띄는 장점도 발견하지 못했습니다.

그렇지만, 대세를 부정할 수는 없을 것입니다. 영화가 흑백에서 컬러 영화로, 무성 영화에서 유성 영화로 바뀌어 왔을 때, 신기하게도 사람들은 비슷한 이유로 반발했습니다. 바로 '영화에 몰입하는 것을 방해한다' 였습니다. 지금 돌아보면 어리석어 보이지만, 당시의 사람들은 진지했을 것입니다. 영화의 3D 로의 진화도 비슷한 진통의 시기를 겪고 있다고 생각됩니다. 3D 기술력에 대한 맹목적인 추종과 신봉은 경계하여야 할 일이지만, 그 곳으로 영상으로의 대세가 움직이고 있다는 것을 부정할 수는 없을 것입니다. 제임스 카메론의 '아바타' 는 그 시대의 본격적인 서막을 알리는 기념비적 작품으로 여겨지기에 충분합니다. 그리고 제임스 카메론은 2D 영화 시대를 정복한 정복자이면서도 이에 만족하지 않고, 영화의 또 다른 세대를 열어젖히는 데 선봉장에 서고 싶다는 끝없는 야심을 숨기지 않았습니다. 그로 인해 CG 를 하는 사람들로서는 참 할 게 없어지기도 했고, 참 할 게 많아지기도 했습니다. 그저 씩 한번 웃어주며, 오른손을 들고 읊조릴 뿐입니다.

"I see you."

 


ThEnd.