그래픽 & 멀티미디어
옆방에서 가뭄에 콩나듯 아두이노 강좌를 진행중인 수아파파 입니다. (__)
지난 세미나때 좋은 세미나를 공짜로 듣고 밥까지 얻어먹어버려서...
밥값을 좀 해 보려고 :) gxLib의 b24를 구현해 봤습니다.
(첨부한 gxLib_b24_suapapa_20090826.patch)
이 패치에는 b24구현 말고 2가지 추가된 내용이 있는데,
- scons 빌드 스크립트 추가
- scons는 make같은 녀석으로 좀 더 직관적입니다
- 프로젝트 루트에서 scons 하면 gxLib를 라이브러리로 만들고, sample을 빌드해 줍니다. (아래 스샷 참조)
- 가상장치에 쓸 수 있도록 기능 추가
- 컴파일시 USE_VIRTUAL_FRAME_BUFFER를 define 하면 ioctrl같은 실제 fb장치에 종속적인 호출들을 제외하여 일반 파일에 그릴수 있게 하였습니다.
이걸 한 이유는, 제 노트북이, 희한한 그래픽카드를 사용해서, 실제 프레임 버퍼장치가 매우 불안정하게 동작하는데다가, 또 X윈도 밖으로 나가는게 귀찮기도 하고 해서,
실제 장치가 아닌 일반 파일에 쓰고 그 파일을 읽어서 뿌리는 에뮬레이터 어플을 작성했는데...
24bpp로 에뮬을 작성해 놓고 보니 -fb 에뮬 입장에서는 16bpp는 변환이 무겁고 32bpp는 버퍼복사가 무거워서 24bpp가 적당하거든요.- gxLib에 해당 구현부분이 빠진걸 발견하고 추가했습니다. -o-
gxLib내의 리눅스 dependent한 코드들(mmap이랄까) 만 정리하면,
-에뮬과 scons는 모두 크로스플렛폼 지원이라- 윈도에서도 잘 동작하기 때문에,
네이티브 윈도에서도 -리눅스 없이- gxLib를 개발할 수 있습니다.
(땡기시죠? 커밍순!)
이쯤하고, 스샷입니다:
참! gxLib에서 아쉬운점 하나 투덜댑니다.
에러메세지가 한글(euc-kr)로 코딩되어 있네요. 요즘 리눅스 데탑환경은 utf-8의 다국어 환경이 대세라 에러메세지를 보려면 좀 번거로와요.
소스의 인코딩을 utf-8로 바꾸는게 가장 좋겠지만, -그럼 윈도에서 개발하실 때 불편하실테니- 출력되는 에러 메세지만이라도 영문으로 바뀌었으면 해요.
어이쿠야, 이렇게 감사할 수가. 자주 뵙고 식사를 대접해야 겠습니다. 하하~
말씀을 들어 보니 코그를 UTF-8로 당장은 어렵겠습니다만, 한글을 영문으로 바꾸겠습니다. ^^
변경하신 내용을 기존 라이브러리에 추가하고 곧 버전 번호를 올려서
새 버전의 gxLib를 올리겠습니다. 올려 주신 코드, 대단히 감사합니다. ^^