336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

요녀석은 데스크탑용(2008 공개 SW 공모대전 출품)


이녀석은 PXA270보드에 포팅한녀석(제6회 대한민국 임베디드 소프트웨어 공모대전 모바일부분 출품)


ARToolKit과 openGL 그리고 SDL을 이용한 프로젝트

내가 주로 한일은 보드관련해서 거의 포팅에 관한 일이었다

ARToolKit, Mesa Lib(OpenGL), GLUT 등을 컴파일및 최적화하는일과

최초에 데스크탑용으로 완성된 소스를 보드로 이식하는 일이었다

보드에 붙어있는 3D가속칩 드라이버가 제공되지 않는 관계로

데스탑에서 실행시키는 것 만큼의 퍼포먼스가 나오지 않는건 당연지사

때문에 영상처리 부분을 배재하고 터치스크린과 가속도센서로 대체하여

퍼포먼스를 끌어올림과 동시에 핸드헬드기기에서의 편의성을 상승시켰음
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
 
LN2440SBC 보드에 포팅한 ARToolKit!!

WM이 아닌 linux상에서 올렸다는게 나자신도 신기할 따름

하지만....

ARM은 FPU가 없기 때문에 플로팅 연산이 뷁스럽고 결과는 이러하다



그래서

이번 임베디드 공모대전 보드지원에서 모바일 과제로 전향하며 얻은

PXA270칩을 사용하고 3D연산 모듈도 달려 있는 녀석!!

사용자 삽입 이미지

바로 이녀석!!!

3D모듈이 openGL이 아닌 openGL ES를 지원하고

PXA칩 아키텍쳐를 잘 모르기에 과연 ARToolKit이 잘 돌아갈지는 미지수 이지만

기대를 걸어본다
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

아래 사이트에서 Linux용 ARToolKit을 다운 받는다http://www.hitl.washington.edu/artoolkit/documentation/usersetup.htm
※참고로 호스트에서 컴파일할경우 위 링크의 설명대로 컴파일 하면 간단히 된다

다운받은후 압축을 푼다

파일중 Configure파일이 있는데 바로 실행하지 말고 에디터를 이용하여
파일을 열어보면 다음과 같다.


   ...

    echo "Select a video capture driver."
    echo "  1: Video4Linux"
    echo "  2: Video4Linux+JPEG Decompression (EyeToy)"
    echo "  3: Digital Video Camcoder through IEEE 1394 (DV Format)"
    echo "  4: Digital Video Camera through IEEE 1394 (VGA NONCOMPRESSED Image Format)"
    echo "  5: GStreamer Media Framework"
    echo -n "Enter : "
    read ANS
    if [ "$ANS" = "1" ]
    then
                echo
                echo "Color conversion should use x86 assembly (choose 'n' for 64bit systems)?"
                echo -n "Enter : "
                read ANS
                if [ "$ANS" = "y" ]
                then
                        CCVT_OBJ="ccvt_i386.o"
                elif [ "$ANS" = "n" ]
                then
                        CCVT_OBJ="ccvt_c.o"
                else
                        echo "Please enter y or n."
                        exit 0
                fi
        VIDEO_DRIVER="VideoLinuxV4L"
        #CFLAG="-O -I/usr/X11R6/include"
        CFLAG="-O -I/root/work/kernel/rebis2.6/include/"
        LDFLAG="-L/usr/X11R6/lib"
        ARFLAG="rs"
        RANLIB=""

        LIBS="-lglut -lGLU -lGL -lXi -lXmu -lX11 -lm"
        CONFIG="AR_INPUT_V4L"
   ...
1: Video4Linux"
2: Video4Linux+JPEG Decompression (EyeToy)"
3: Digital Video Camcoder through IEEE 1394 (DV Format)"
4: Digital Video Camera through IEEE 1394 (VGA NONCOMPRESSED Image Format)
이렇게 네개의 메뉴가 있고 선택에 따라 생성되는 Makefile 이 달라진다
때문에 자시가 사용할 모드(아마도 주로 1번을 사용하게 될 것이다)의 부분을 찾아
위의 예(빨간부분) 처럼 수정을 해야 한다

물론 CFLAG외에도 LIBS관련된 옵션들도 수정을 해야하는데 후에 이야기를 하겠다

자!! 일단 ./Configure를 실행해보자!!
그럼 각각 폴더에 Makefile이 생길 것이다
일단 해야 할일은 Makefile을 추적하여 컴파일 해야할부분을
arm-linux-gcc로 바꿔줘야 한다.

   ./lib 경로 의 Makefile들은 CC=arm-linux-gcc로 바꿔주기만하면 쉽게 컴파일 될것이고
   ./util 과 examples 경로는 cc를 $(cc) 로바꾸고 cc=arm-linux-gcc를 추가해주면 끝!

이제 make를 실행해보자!!
제일 상위의 Makefile 경로대로 일단 ./lib 경로의 폴더들 부터 하나하나 make 를 해보자
정확한 기억은 아니지만 ./lib폴더는 문제없이 쉽게 크로스 컴파일이 될것이다.

삽질의 시작은 여기부터 이다!! 이제 ./util디렉토리와 ./examples폼더를 컴파일 해야한다!!

....그런데

좀 길어 질것 같은 관계로 일단 여기서 1부끝!!!

+ Recent posts