OpenGL

Linux에서 assimp 컴파일하기

codebank 2017. 12. 11. 12:47


assimp - Open Asset Import Library


3D를 공부하다보면 다양한 형태의 모델들을 접하게 된다. 3D프로그램마다 각자다른 형태의 모델들을 사용하기도하고 오래된 형태의 모델형식으로 만들기도하며 새로운 형식의 모델을 만들기도 한다. 모델을 표현하는 방식은 거의 유사하다. 따라서 공부하려는 목적이 아닌 이용의 목적으로 모델에 접근하려면 개발자가 좀더 편하게 접근할 수 있는 라이브러리가 필요할 것이다. 그래서 나온게 assimp로 생각된다.


아래는 assimp 사이트의 소개글을 구글 번역기를 통해서 바꿔 놓은 것이다. 대충 무슨 일들을 할 수 있는지를 확인할 수 있다. 또한 assimp 사이트에는 어떤 모델들을 다룰 수 있는지도 나와있다.


"assimp는 다양한 데이터 형식의 기하학적 장면을 로드하고 처리하는 라이브러리입니다. 노드 계층 구조, 정적 또는 스킨 메쉬, 재료, 뼈 애니메이션 및 잠재 텍스처 데이터를 지원하여 일반적인 게임 시나리오에 맞춥니다. 라이브러리는 속도를 위해 설계된 것이 아니며 주로 다운로드 속도와 편의성을 위해 제작되었습니다. assimp는 인덱스 된 메쉬로 변환, 법선 또는 접선/비트 매트 계산 또는 오른손잡이에서 왼손잡이 좌표계로의 변환과 같은 다양한 후 처리 단계를 가져온 데이터에 적용할 수 도 있습니다."


각자의 개발 환경에서 사용하기 위해서는 사이트에서 가져온 소스를 컴파일해서 사용하면 된다.

여기서는 Linux(또는 Raspberry pi)에서 컴파일하기 위한 방법을 소개한다.


원본 : http://www.clanlib.org/assimp-linux.html


위 사이트에 나와있는 내용이다.

CMake를 사용하여 Makefile을 만들어내고 make를 이용하여 컴파일한다.


$ git clone git://github.com/assimp/assimp.git assimp

$ # For debian

$ sudo apt-get install libboost-dev

$ sudo apt-get install zlib1g-dev

$ # For Fedora

$ sudo yum install boost-devel

$ sudo yum install zlib1g-dev

$ # For SUSE

$ sudo zypper install boost-devel

$ sudo zypper install zlib-devel

$ sudo zypper install cmake

$

$ cd assimp

$ cmake -G 'Unix Makefiles'

   -- Boost version: 1.42.0

   -- Found ZLIB: /usr/include (found version "1.2.3.4")

   -- checking for module 'minizip'

   -- package 'minizip' not found

   -- Configuring done

   -- Generating done

   -- Build files have been written to: /home/.../src/assimp

$ make

   Scanning dependencies of target assimp

   ...

   [100%] Built target assimp_cmd


$ sudo make install

$ sudo ldconfig


CMake는 현재 환경에 맞춰 컴파일 환경을 맞춰주는 역할을 한다.

make는 이렇게 맞춰진 환경의 Makefile로 실제 라이브러리를 만드는 역할을 한다.

마지막 install을 sudo로 해주는 이유는 시스템 디렉토리에 접근하기 때문이다.