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

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


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


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

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

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

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

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

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

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

퍼포먼스를 끌어올림과 동시에 핸드헬드기기에서의 편의성을 상승시켰음
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
openGL을 보드로 포팅시
TinyX, MESA, GLUT 최소한 이렇게 세가지를 컴파일 해줘야 한다

TinyX같은경우 검색해보면 쉽게 포팅관련 문서를 구할 수 있고
MESA의 경우도 어렵지 않기에 생략하고 GLUT만 설명하겠다

http://www.opengl.org/resources/libraries/glut/glut_downloads.php
여기서 GLUT-3.7을 다운받아 적당한곳에 압축을 푼다

참고로 GLUT포팅하면서 얻어야 할것은 공유 라이브러리 libglut.so.3.7이다

$GLUT_HOME/linux 디렉토리의 README파일을 열어보면
$GLUT_HOME/lib/glut/ 디렉토리에 $GLUT_HOME/linux/Makefile을
복사해 넣으라고 한다

복사후 $GLUT_HOME/lib/glut/Makefile을 열어보자

....
#-----------------------------------------------------------------------
# start of Imakefile
# $XConsortium: Library.tmpl,v 1.34 95/06/16 17:44:51 gildea Exp $
# $XFree86: xc/config/cf/Library.tmpl,v 3.3 1995/07/08 10:21:44 dawes Exp $

         CC = arm-linux-gcc


  CCOPTIONS = -ansi -fPIC


STD_DEFINES = -Dlinux -D__i386__ -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
CDEBUGFLAGS = -O2 -msoft-float #-m486

# Copyright (c) Mark J. Kilgard, 1994.
# Glut.cf - GLUT distribution Imakefile configuration info

EXTRA_INCLUDES = -I$(TOP)/include -I$(TOP)

GLUT_DEPLIBS = $(DEPGLUT) $(DEPXMULIB) $(DEPXLIB)
GLUT_LIBS = $(GLUT) $(GLU) $(OPENGL) $(XMULIB) $(XLIB) -lm
OPENGL = $(TOP)/../lib/libMesaGL.so
GLU = $(TOP)/../lib/libMesaGLU.so
INVENTOR = -lInventor
GLUT_DEPLIBS = $(DEPGLUT) $(DEPXMULIB) $(DEPXILIB) $(DEPXLIB)
GLUT_LIBS = $(GLUT) $(GLU) $(OPENGL) $(XMULIB) $(XILIB) $(XLIB) -lm
....

이부분이 GLUT라이브러리 컴파일 할때 사용되는 부분이다

빨간색으로 표시된 부분만 수정해주고 gl.h, glu.h경로만 잘 설정해 주고
$GLUT_HOME/lib/glut/ 경로에서 make를 하면 문제없이 컴파일이 될것이고

그 폴더에 libglut.so.3.7파일이 생성돼 있을 것이다

혹시라도 -msoft-float 옵션에 대해 알고싶으면 밑에글
gcc 컴파일 옵션.(에서 붉은색 부분)을 읽어 볼것을 권장한다.

+ Recent posts