etc..

openGL 기초 강좌

2012. 6. 4. 16:08

openGL 기초 강좌

 

http://www.gisdeveloper.co.kr/category/프로그래밍/OpenGL?page=2

이야...

 

내가 이런거 하는날도 있구나...

 

암튼 이틀간의 삽질의 결과가 너무 아까워서 이렇게 공개합니다

 

현재 이야기 하는건 윈도우 XP (32bit) + VS 2008 에서 입니다.

FTGL을 사용하게 위해서는 Freetype 라이브러리가 필요합니다. 각각의 링크를 따라 들어가서 라이브러리를 받습니다.

Freetype의 압축을 풀고 폴더를 확인 합니다. 본인의 감(?)에 따라 어디로 가야 우리가 원하는게 있을지  폴더를 찍어봅니다...

 

 

 

 

그렇지요...  build 항목에 들어가면 OS 나 개발환경별 컴파일 플랫폼을 제공합니다. win32가 눈에 들어옵니다.

 

 

win32 아래에는 위와 같이 각 환경별로 제공하는 *.dsw 또는 *.sln이 있습니다.

 

많은 공개 코드를 써본건 아니자만 이것처럼 친절한 라이브러리는 처음이네요. 암튼 2008로 들어가서 생각없이 "빌드"질을 해 대시면 됩니다. 그러면 ft2312_D.lib (Debug) 와 ft2312.lib (Release)를 object/win32 아래에서 만나실 수 있습니다. 상당히 다양한 컴파일 옵션이 있습니다. 일반모드와 cpu에 따른 모드가 있는데 저는 그냥 기본적인 Debug와 Release 모드만을 사용하였습니다.

 

이제 재료가 다 준비 되었으니 라이브러리와 header들을 옮깁니다...

-hearder파일은 include 안에 있는 것을 모두 include폴더로 ...

-lib 들은 lib폴더로 ...

-2008의 경우는 program files/v_ s_ 9.0 폴더의 vc폴더 아래에도 넣어도 되지만 program files/windows SDKs/Windows/v6.0a 에도 가능... 특별이 gl 폴더는 v_ s_ 9.0 이 아닌 windows SDKs 아래에 있음...

 

이제 FTGL 컴파일을 합시다

 

FTGL 도 매우친철합니다. msvc 폴더를 유심히 봅니다. msvc ... microsoft visual studio... 그렇지요...

 

아래에 내려가면 vc 8.0  vc7.1 버젼의 환경이 있습니다.  8.0은 2005 이고 7.1은 2003 인가 그럴겁니다...

8.0을 선택하고 2008 에서 열면 무리없이 컨버젼 됩니다.  걍 컴파일 합니다.  그러면  현재위치에서 한번만 위로 올라가면 못보던 Build라는 폴더가 만들어져 있고 그곳에 다 모여 있습니다. (*.dll, *lib, 등등...)

이제 적당한 위치에 옮겨두면 OK... 사용준비 완료 입니다...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

일거 같지요... ??

 

확실하지는 않으나 win64 bit에서는 문제가 없는데 32bit XP에서 사용하려면 문제가 발생합니다. 아마 환경에 따라서 전처리자가 결정이 안되는것 때문에  이 라이브러리로 visual studio 6.0 에서 개발하신다면 꽤나 애 먹으실 겁니다. dll에 구현되어 있는 함수가 제대로 export가 안되었을때 나오는 에러 메세지를 보게 되실겁니다. 즉,

 

error LNK2001: unresolved external symbol "public: virtual class FTBBox __thiscall FTFont::BBox(unsigned short const*,int,class FTPoint,class FTPoint)" (?BBox@FTFont@@UAE?AVFTBBox@@PBGHVFTPoint@@1@Z)

 

이와 비슷한것을 두개 더 보게 되실겁니다

 (현재까지 제 경험상 winXP에서 OpenGL이 가장 원활하게 돌아갑니다. 그리고 저는 아직도 visual studio 6.0 을 못 버리고 있구요.)

 

다시 FTGL 컴파일 하는곳으로 돌아갑니다.

ftgl.dll 속성으로 들어가서 구성속성->c/c++->언어->wchar_t를 기본제공 형식으로 처리 를 예 에서 아니오로 바꾸고 다시 컴파일 하면 위의 문제는 사라집니다.

 

 

 

 

이건 제가 해결한건 아니고... 구글링 하다보니

http://objectmix.com/graphics/729918-ftgl-visual-studio.html

저와 동일한 문제를 안고 있던 분이 있더군요. 이자리를 질문하고 답변해준 분들께 감사의 말씀을...

 

FTGL을 사용하면 3D 화면상에다 글자를 2D 혹은 3D로 뿌릴 수 있고 각종폰트( 한글)도 자유자제로 쓸 수 있습니다. (OpenGL에서 글자쓰는게 만만한 일은 아닙니다. 특히 2D는... 그렇다고 DC 에다 때려 넣어서 쓰면... 3D perspective 상황에서는 글자도 안 보일겁니다.)

 

아뭏든 이렇게 하고 나면 깨끗한... 그리고 본인이 가장 좋아하는 영문폰트인 verdana를 써서

텍스트를 출력할 수 있습니다

이렇게 말이지요...

 

 

 

 

구글 검색을 통해서 FTGL에 관한 한글정보를 얻으신분들은 자료들이 상당히 오래 되었음을 발견하시게 될겁니다. 그래서 해보려면 상당히 많이 틀린것을 알 수있고 특히 FTGL은 함수들이 상당히 많이 바뀌어서 이 라이브러리 쓰는게 그리 녹녹하지 않았습니다.

 

그냥 instance하게 불러서 작업하신다면 위의같은 처리 안해도 작동합니다.

그런데 가령 위의  FTGL 객체를 class member variable로 동적할당을 하려면  위의 방법으로 하셔야 되지 않을까 합니다.


2차 출처 : http://blog.daum.net/piewani/16768994  

 

etc..

유용한 유틸 몇가지..

2012. 5. 29. 16:34


1. shock 4-way

리눅스의 작업화면 분할을 윈도우에 구현.


shock 4 way.exe




Pla-Modeler

1/400 RMS TITANIC - 3

2012. 5. 25. 14:16


디아블로3 출시와 함께 한참을 지옥에서 헤매이다 민식이형이 제작기 업데이트 안하냐고 하시는 말씀에

문득 생각해보니 정말 오랜시간을 손도 안댔더군요..;;


원래 산만한 스타일이긴 한데.. 처음의 의욕을 까맣게 잊고있었습니다.





디아블로 출시 전에 주문한 재료들입니다.

홀수선 아래 도색을 위해 헐레드 캔 스프레이 두통을 주문했습니다.

.. 이사오고나선 마땅한 작업실이 없어서 스프레이부스를 설치할 공간도 안되고..

출퇴근시간이 길어지는 바람에 조색까지 하면서 도색에 매진할 시간이 안나더라구요;;


DC 9V 어댑터와 LED, 저항들, 스위치 등등..

LED 작업을 위한 준비물을 주문하고 받아서 위 사진을 찍은게 5월 8일 이더군요.

.. 반성 반성;;




그리고 디아블로3 발매 후 지옥 전전하다가 문득 정신차리고 어젯밤 찍은 사진입니다.

최 상부층 함교만 따로 전원 연결해봤습니다.

1, 2등 객실 모두 LED 작업은 되있는데, 막상 여기에 전류를 배분할 병렬 분배기판이 작업 보류중이었습니다.


광량이 조금 많이 밝네요..;;

나머지 1등석 객실과 2등석 객실, 그리고 선체의 3등석 객실들을 모두 연결하면 조금 밝기가 낮아지리라 생각합니다.

2012. 05. 01.

 

선체 객실 창문 약 900여개 뚫기 완료.

다 뚫고 보니 알루미늄 테입에 의한 내부 빛산란만으로 모든 창을 밝히기엔 모양새가 좀 별로일 것 같습니다.

광섬유 900여개의 작업을 해야 하는가..

 

 

 

갑판의 각 층을 연결하는 새끼손톱만한 계단.

매뉴얼 지정 칼라는 레드 브라운 이었으나, 레드카펫의 느낌으로 과감히 피빛 빨강으로 도색.

 

 

갑판 먹선 겸 워싱. 에나멜을 먹선농도로 묽게 타서 전체적으로 도포하고

워싱을 해주면 나무갑판 느낌이 살지 않을까 싶어서 시도했는데, 의도한대로 나와서 다행이라 생각합니다.

 

자잘한 부분도색을 계속 진행하며 가조립 해보고, LED 기판의 설계를 구상해야 합니다.

지금까지 다른분들의 제작기를 보면 선체 객실의 LED 작업은 포스팅된 곳이 많은데,

선체 위쪽으로는 LED 작업기를 다들 생략하셨더라구요 =ㅂ= ;;

 

별 수 없이 직접 디자인 해야겠네요 ㅜㅜ

 

오늘의 작업기 끝.

 

 

Pla-Modeler

1/400 RMS TITANIC - 1

2012. 4. 27. 09:50

2012. 04. 26.


일단 900개가 넘는 창문에 구멍을 뚫기위해 이사 후 처음으로 공구박스를 열었습니다.

작은창은 1mm, 조금 큰 창은 1.5mm 핀바이스로 뚫으니 딱 맞더군요.


한참을 뚫은것 같은데.. 남은 양에 비교해보면 티도 안나는 수준 ㅜㅜ


 



제일 윗줄은 손으로 핀바이스를 직접 돌려 뚫었습니다만.. 이 속도로 뚫다가는 핀바이스질 하다 질려서

끝까지 진행할 엄두가 안나겠다 싶었습니다.


그래서 간만에 공구의 힘을 빌리기로 했습니다.

왠만한 작업은 수작업을 선호하는 저도 900개나 되는 창문을 다 뚫으려니 시작하자마자 질렸거든요;;



오랜만에 봉인 해제된 드레멜 입니다.

옵션 드릴척을 물려서 1mm 드릴날을 물립니다.


핀바이스로 돌려 뚫을때보다 시간이 1/3 정도로 줄었습니다..;;


두번째줄 창문뚫기 순식간에 완료.



드레멜 느님 찬양합니다 굽신굽신~ m(_ _)m



드레멜 느님에게 희생된 드릴밥조각들..


근데 아직 전체 창문의 20% 정도밖에 못뚫었습니다.

.. LED 괜히 밖기로 했나 -ㅂ= ;;