« Previous : 1 : 2 : 3 : 4 : 5 : ... 6 : Next »
웹캠 업데이트 로직
 if( !m_cap.isOpened() )
 {
  return;
 }
 cv::Mat frame;
 m_cap >> frame;
 D3DLOCKED_RECT lr;
 ZeroMemory( &lr, sizeof(D3DLOCKED_RECT));
 LPDIRECT3DSURFACE9 suf = NULL;
 g_pTexture->GetSurfaceLevel( 0, &suf);
 D3DSURFACE_DESC sr;
 ZeroMemory( &sr, sizeof(D3DSURFACE_DESC));
 suf->GetDesc( &sr );
 suf->LockRect( &lr, 0, 0 );
 BYTE *surfPtr = (BYTE*)(lr.pBits);
 cv::Mat     m_image;
 frame.copyTo(m_image);
 unsigned char *pSurfPtr = static_cast<unsigned char*>(lr.pBits);
 if( frame.empty() )
  return;
 IplImage p_image = m_image;
 BYTE* pBufferData;
 for(UINT h = 0; h < sr.Height; h++)
 {
  for(UINT w = 0; w < sr.Width; w++) 
  {
   pBufferData = (BYTE*)lr.pBits + (h * (lr.Pitch)) + w * 4;
   pBufferData[0] = (BYTE)(p_image.imageData[h * p_image.widthStep + w * 3 + 0]);
   pBufferData[1] = (BYTE)(p_image.imageData[h * p_image.widthStep + w * 3 + 1]);
   pBufferData[2] = (BYTE)(p_image.imageData[h * p_image.widthStep + w * 3 + 2]);
   pBufferData[3] = (BYTE)255;
  }
 }
 suf->UnlockRect( );

코드에서 외부변수는 OpenCV에서 디바이스에서 영상을 지속적으로 입력받는cv::VideoCapture 의 m_cap 과 화면상에 렌더링해줄 g_pTexture밖에 없으니 기존 D3D를 하실줄 아는 분이 OpenCV의 Video관련 샘플을 한번 본다면 쉽게 자신이 원하는 대로 수정해서 사용할수있을거라고 생각합니다.



Creative Commons License
Creative Commons License
Posted by 랜스.

Leave your greetings here.

[로그인][오픈아이디란?]



최근에 개인적으로 마이크를 통해 프로세스를 하는 프로젝트를 개발중 가장 난해했던 부분은

마이크로 입력받은 오디오 정보를 프로젝트의 용도로 파싱하는 부분이었다.

사운드 관련 라이브러리들도 입력에 관련된 패러다임들을 가지고있는 편이 아니기에

대충 이곳저곳 알아보니 스팩트럼 분석법이라는게 있더라..

스팩트럼
시간 영역의 신호를 퓨리에 변환하여 주파수 영역에서 재구성하여 각 주파수 성분에 대한 성분의 값을 그래프로 나타낸 것을 말한다. 스팩트럼은 복소수 성분으로 나타내어지므로 여러 종류의 스팩트럼이있다.


실시간으로 입력받는 오디오 정보를 가져와 버퍼에 저장하는 부분에서

이산 퓨리에 변환을 고속으로 계산해주는 고속 퓨리에 변환(FFT)  알고리즘을 사용한뒤

스팩트로그램을 계산하는 방법으로 프로젝트에서 원하던 주파수및 기타 정보들을

추출해낼수있었다.

 

Creative Commons License
Creative Commons License
Posted by 랜스.

Leave your greetings here.

[로그인][오픈아이디란?]
 한동안 포스팅을 않했었는데 하드정리겸 작업했던것들을 하나하나 정리해볼까..하는 생각에 뿌지직...  

 작년 봄쯤 프리랜서(백수) 로 지내던때 작업은 작업대로 해야되고 여자친구는 여자친구 나름 잘챙겨줘야하는데 전화는 그렇다치고 문자하려면 컴퓨터를 하다 문자가오면 키보드에서 손을땐뒤 핸드폰을 가지고와서 문자를 입력하고 키보드를 다시잡아야하는 귀찮음에 매우 힘들어하던 찰나...

http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_Lecture&no=4&z=26

그 당시 이 글을 본뒤 몇가지 방법중 호스팅업체에서의 SMS충전방식으로 하기로한뒤 작업을 시작하였습니다. 이런거에 많은돈을 투자하고 싶지않았던 그당시의 저는 업체중에서 발송건당 가장싼곳에서 5000건을 결제를 하였답니다.( 이것이 가장 큰 실수야 실수... )

 그 뒤 업체에서 PHP로 제공해주는 API를 이용해 패킷분석을 끝마친뒤 C++로 컨버팅한뒤
3분요리처럼 빠르게 툴을 제작할수있다는 MFC를 이용하여 테스트하니 잘작동한다.

때마침 온 문자 이제 실전이다.

여자친구 의문자  : "아침밥먹었냐??"

(이때다 !! 배달소녀여 나의 문자를 보내다오!! )
...1..2...3.... 전송완료!

한 20분이 흘렀을까... 여자친구에게 오는전화...

여자친구 : "야 않자면서 답장을 왜않해?"
나 : "답장했는데?"



 여자친구는 이때 문자가 오지 않았다했고 몇차례 더 시도했지만 문자는 정상적으로 도착하지않았다.
몇시간뒤 여자친구를 만나 데이트를 하는 도중 거의 반나절 전에 작업하였던것으로 보냈던 문자들이
도착하는것을 보고는 "넌 나의 신뢰를 잃었어 아사달....."

 이러한 이유로 외장하드에 쳐박혀 있던것을 최근에 다시 정리하다가 키고 테스트해봤는데 않되더라...
이유는 New21에서 아사달로 바뀐지 몇년이 흐른 지금 데몬서버의 도메인이 변경되었고 sms를 보내는
API도 수정이되었기때문...

 아무생각없이 문자 전송이 느렸던것을 잊고는 다시 작업하고 배포를 생각해 문서화까지 해두었는데...
아사달서버의 문자전송 속도는 랜덤한것 을다시한번 느끼고는 봉인해버렸다...


Creative Commons License
Creative Commons License
Posted by 랜스.

Leave your greetings here.

  1. Comment RSS : http://lancekun.com/tc/rss/comment/165
  2. 끼로 2011/05/17 12:23  Modify/Delete  Reply  Address

    네이트온쓰면 문자 와도 키보드로 보낼 수 있자나

    • 랜스 2011/05/19 00:35  Modify/Delete  Address

      SHOW는 않되지않나여?? 저거 말고도 그냥 이것저것에 다 갖다 붙여서 쓸려했는데 쓸모없..

  3. 나그네 2012/01/11 12:22  Modify/Delete  Reply  Address

    하지 않는 것은 안 하는 것입니다.

    하지 않는 것은 않 하는 것이 아닙니다^^

[로그인][오픈아이디란?]



VMware-workstation 7.0
설범 10.6.3

device test shot

Creative Commons License
Creative Commons License
Posted by 랜스.
TAGS

Leave your greetings here.

  1. Comment RSS : http://lancekun.com/tc/rss/comment/156
  2. Klazz 2010/06/02 21:13  Modify/Delete  Reply  Address

    뷰 중앙에 ActivityIndicatorView 스타일이 특이하네요?
    보통 Largr White,Gray,White 이렇게 3개 있는걸로 아는데..

[로그인][오픈아이디란?]


주석하나없는 SDK의 기능을 하나하나 독파한뒤에 알게된 홈페이지의 API 도큐먼트 ㅡㅡ....
이왕이면 좀 포함시켜서 넣어주면않되나... 하여튼 3D에대한기능은 완전히없지만
왠만한 2D게임은 만들수있을것같다. 근데 사실 지원하는 함수가 API 보다 적은수준이라서 굉장히
만드는데있어서 불편하다. 간단한 게임을 하나 제작한후 SDK에대한 리뷰를 해보겠다.
Creative Commons License
Creative Commons License
Posted by 랜스.

Leave your greetings here.

  1. Comment RSS : http://lancekun.com/tc/rss/comment/152
  2. 비밀방문자 2010/06/22 10:35  Modify/Delete  Reply  Address

    관리자만 볼 수 있는 댓글입니다.

  3. 그건일 2010/07/06 09:35  Modify/Delete  Reply  Address

    기대 되요~(게임코디에서 왔어요)
    안드로이드로도 될까요?

[로그인][오픈아이디란?]

누군가가 나에게 MS의 개라고 하더라도 꺼리낌없이 PC만 해본사람이라서
MAC만을 통한 AppleApp 개발은 좀 힘들었다...(자금적 정신적(해킨토시))
뭔가 끄적이긴했지만 VM웨어의 증발현상으로 해킨이미지가 하늘나라로...

어쨋든 지난 RSS 들을 보다가 윈도우환경에서 애플어플 개발이 가능하다는것을보고
그 사이트를 들어가서 개발자에게 베타테스터로 참여해보고싶다니
lib 파일이랑 예제파일 하나 던져주면서 피드백점이라는말이..... =ㅁ=;
헤더파일은 예제프로젝트에있더군요 헤더에 주석도별로없어서 이름만으로
동작파악이않되는것들은 한번씩 시도해봐야했음..

좀더 여러테스트를 해본뒤 리뷰를 작성해보겠습니다.

Creative Commons License
Creative Commons License
Posted by 랜스.

Leave your greetings here.

  1. Comment RSS : http://lancekun.com/tc/rss/comment/151
  2. ggotbo 2010/02/16 16:42  Modify/Delete  Reply  Address

    우왕 재밌겠땅.
    역시 빅웨이브엔 탈 수밖에 없나.

  3. 진다람군  2010/02/16 19:13  Modify/Delete  Reply  Address

    드래곤파이어 SDK로군요 ㅎㅎ
    저도 한번 다운로드 받아봤는데 C 개발환경이라서 객체지향 프로그래밍을 하기 어렵네요 -_-

    그냥 맥북 사서 하는편이 편할듯 ㄷㄷㄷㄷ

    • 랜스 2010/02/17 01:48  Modify/Delete  Address

      네 =ㅁ=... 개발하는데 되게 API로 게임만드는 느낌을 정말 많이 받고있어요.. 지금 나름 라이브러리화해서 만들어뒀는데 굉장히 지원하는 함수도 얼마없어서 씁슬하네요 ㅡㅠ

  4. 효봉 2010/02/17 17:22  Modify/Delete  Reply  Address

    야야 널보니 집에서 놀고있는 맥북과 아이맥이 아깝다 형이 좀 럭셔리 하면 하나 줄텐데 말야 ㅋ 여기 수정했니? 잘 보고 간다

[로그인][오픈아이디란?]
1.7부터 빌드방식이 바뀌어서 몇분들이 도움을 요청하시길래 간단히 컴파일법을 작성하겠습니다.
프로젝트로인해 오랜만의 포스팅이네요 ㅎ

일단 http://www.ogre3d.org/download/source 에 접속하여서
OGRE 1.7.0 RC1 Source For Windows Microsoft Visual C++ Dependencies Package
이 두개를 받습니다.
사용자 삽입 이미지
압축을 풀고 내용물을 한폴더로 모으면 위와 같이 두개의 폴더가 보이는데요.
Dependencies 폴더를 ogre 폴더속으로 넣어줍시다.
(참고:  CMake로 컴파일시 한글경로인식이 않되기때문에 경로설정을해줌 C:\ogre-v1-7-0RC1\ogre )

그뒤에 Dependencies 폴더속 Dependencies\src 에 가보면 OgreDependencies 라는 이름으로
각 솔루션 파일이있는데 각자의 VisualStudio에 맞는 솔루션파일을 실행시켜서 솔루션채로 빌드해줍시다.
(저같은경우 VC9을 사용하니 OgreDependencies.VS2008.sln 실행)

여기까지는 이전 오우거 버젼컴파일하는것과 동일하였습니다.
이전에는 여기까지한뒤에 기본적으로 들어있던 OgreMain.sln을 찾아서 컴파일을 해주었는데요
1.7부터는 CMake를 통해 빌드를해야하더라구요.

그러므로 CMake를 받으러 http://www.cmake.org/cmake/resources/software.html 에 접속해서
Windows ZIP으로 되어있는것을받읍시다.(CMake자주사용하시는분아니면 그때그때받아쓰면됨)

자.. 다운이 다되었으면 \bin\cmake-gui.exe 를 실행시킵시다.
사용자 삽입 이미지
이제 CMake로 컴파일 CMakeList가 있는 폴더와 Output을 받아드릴 폴더를 설정해줍니다.
%주의 오우거폴더의 경로에 한글이 있으면 컴파일에 실패합니다.
%주의 CMake의 경로에 한글이있으면 컴파일되지않습니다.

그뒤에 Configure 버튼을 눌러줍니다.
사용자 삽입 이미지
그러면 위와 같은 창이 뜨는데요 여기서 자신이 사용하는 VisualStudio나 각각의 개발환경을
선택해주고 Finish를 눌러줍니다.
사용자 삽입 이미지

정상적으로설정이 되어있는 상태라면 위와같은 화면이 나타날것입니다.

이상태에서 Configure 버튼을 한번더 눌러준뒤 Generate 버튼을 눌러주면 Output되는 폴더속에
OGRE.sln 라는 이름의 솔루션 파일이 생성된것을 확인할수있습니다.
사용자 삽입 이미지

이후는 이전의 버젼을 사용했던것과 같이 엔진라이브러리를 컴파일한후 쓰시고싶은대로 쓰시면
되는겁니다아

사용자 삽입 이미지

엔진 컴파일후 샘플브라우져를 실행한 화면

Creative Commons License
Creative Commons License
Posted by 랜스.

Leave your greetings here.

  1. Comment RSS : http://lancekun.com/tc/rss/comment/149
  2. kernys 2010/01/29 15:40  Modify/Delete  Reply  Address

    잘 보고 가요 ^.^~

  3. 고진혁 2010/03/09 07:53  Modify/Delete  Reply  Address

    안녕하세요 잘보고 갑니다.. 문제가 있는데요.. 저대로 실행햇더니
    OGRE EXCEPTION Cannot create settings file to Root saveConfig at ..\..\..\..\OgreMain\src\OgreRoot.cpp (line 382) 일케 뜨는대요

    이유를 아시나여 ;

    • 나그네 2010/03/09 21:02  Modify/Delete  Address

      그거 사용자 계정이 한글이름이라서 그렇습니다.
      사용자 계정이름 영어로 바꾸시면 될꺼에요

  4. HWANG YENA 2010/04/25 01:51  Modify/Delete  Reply  Address

    오우거 엔진3디에 공개 오픈 게임소스 들어 있는지요?/
    지금 언리얼 공부 할가 하는데..오우거가 더 배우기 쉬울까 해서요..지금 기간이 얼마 안남아서..ㅠㅠ작

    • 랜스 2010/04/28 23:20  Modify/Delete  Address

      음 =ㅁ= 공개 오픈소스가 들어있지않지만 온라인상에서 쉽게 구할수있을겁니다.. (간단한게임의 경우는) 빠른시간내로 쉽게 접하시려면 오우거가 괜찮습니다. 문서화나 문의지원같은건 언리얼쪽이 확실히 잡혀있지만 개인이 공부하기에는 쉽게 구할수있고 그나마 널리퍼져있는 오우거를 먼져 공부해보시는게 좋을듯싶습니다.

  5. 게임 2010/09/15 11:09  Modify/Delete  Reply  Address

    저.. Ogre폴더는 어디서 나온거죠?

    • 랜스 2010/10/21 10:10  Modify/Delete  Address

      이 글을 썼을때의 시점으로OGRE 1.7.0 RC1 Source For Windows 를 다운 받아서 압축을 푸시면 ogre 폴더가 나옵니다.

  6. Mins-woo 2010/11/11 16:47  Modify/Delete  Reply  Address

    질문이 하나 있습니다. SDK를 받아서 설치한 다음에 디펜던시를 Cmake를 이용해서 합쳐도 되나요? 현재는 그냥 없다는 파일들을 직접 디버그 폴더에 넣어서 쓰는 방법을 사용하고 있습니다. 그리고 렌스님이 쓴 데로 소스를 컴파일 해서 만들어진 솔루션을 사용시에 기존에 있는 셈플들을 솔루션에서 재외한 다음에 오우거포럼에 있는 기본 프레임워크 튜토리얼부터 시작해도 되는지 알고 싶습니다.

[로그인][오픈아이디란?]

 wxWidget도 mfc처럼 테이블을 기반으로 이벤트처리가 이루어진다.
이방식이 깔끔하고 모듈별처리하기 좋지만 오히려 귀찮기도 하다...

 하여튼 MFC의 Pre****(메서드이름이기억이않난다)라는 이벤트처리함수처럼
wxWidget에서도 윈도우메세지를 먼져 처리해줄수있는 방법이있다.
그것은 이벤트테이블에 추가하는 방법이 아니고 특정메서드를 오버라이드하는 방식이다.

원문

To handle a Windows message you need to override a virtual MSWWindowProc() method in a wxWindow-derived class. You should then test if nMsg parameter is the message you need to process and perform the necessary action if it is or call the base class method otherwise.

wxWindow 클래스의 메서드하나를 오버라이드하라고한다.
나같은경우 wxFrame을상속받은 클래스를 사용하니 밑의 코드처럼 오버라이드후
return 으로 부모의 메서드를 호출(원래의기능작동을위해)해주면 끝이다.

코드
Creative Commons License
Creative Commons License
Posted by 랜스.

Leave your greetings here.

  1. Comment RSS : http://lancekun.com/tc/rss/comment/146
  2. 닭도난다 2009/11/01 23:00  Modify/Delete  Reply  Address

    랜스님은 천재~

[로그인][오픈아이디란?]

[예제소스 다운받기]

wxWidgets가 문서화나 커뮤니티가 잘되있지만 국내에 정보가 별로없는것같아서
따로 찾기 귀찮으신분이나 영어가 싫으신분을 위해서 예제코드를 작성했습니다.
wxWidget의 기본적인 사용법과 Direct사용법정도만 아시면 충분히 직접 적용하실수있도록
간단히 작성하였으니 wxWidgets 와 Direct를 결합하시려는 분들께 도움이 되었으면 합니다.
Creative Commons License
Creative Commons License
Posted by 랜스.

Leave your greetings here.

  1. Comment RSS : http://lancekun.com/tc/rss/comment/145
  2. kpro 2009/10/20 18:46  Modify/Delete  Reply  Address

    ^^; 다운이 안되는거 같아요. 새 창만뜨고, 저만 그런가요?

    • 랜스 2009/10/20 19:14  Modify/Delete  Address

      다운되게 수정했습니다.. =ㅇ=
      텍스트큐브상의버그였습니다. 죄송합니다 (꾸벅)

  3. charmzine 2009/10/25 17:09  Modify/Delete  Reply  Address

    오 +_+ 드뎌 올라왔네요. 다음 포스팅 기대 해 볼께요~

  4. black_H 2009/10/27 16:10  Modify/Delete  Reply  Address

    언제나 열심히 공부하시는 랜스님...
    저는 이렇게 열심히 못해요 ㅋㅋ

[로그인][오픈아이디란?]


이번에 프로젝트 팀에서 캐릭터 부분을 맡았음으로 캐릭터 관련 툴을 만들게 될텐데
여기서 쓰게될 gui라이브러리에 대해서 고민중이다... =ㅇ=
기본 MFC피쳐팩을 써서 만들면 편하기야 하지만.. 그래도 이왕이면 뽐뿌나게 새로운것을 배워서
만들어보자는 생각이다. 그럼에 있어서 크라이3툴(툴에서 후광이 빛추는)에서 썻던
Xtreme Toolkit을 써볼까 했지만 30일제한이 있길래..(오픈소스인줄만알았던1人)
멀티플랫폼을 지원하는 wxWidget 을 써볼까한다.. 그나저나 아는분이 플래쉬로 ui쉽게 구축하는
라이브러리를 추천해주셨지만 난 플래쉬를 아예못하므로 ..ㅠ

Creative Commons License
Creative Commons License
Posted by 랜스.
TAGS

Leave your greetings here.

  1. Comment RSS : http://lancekun.com/tc/rss/comment/144
  2. charmzine 2009/10/19 14:27  Modify/Delete  Reply  Address

    오 ^^ 저도 관심 있는 라이브러리데 +_+ 지속적인 포스팅 부탁드려요~

  3. 몽상가 2009/11/16 01:35  Modify/Delete  Reply  Address

    flash ui library 는 뭔가요? 궁금하네요 :D

[로그인][오픈아이디란?]
« Previous : 1 : 2 : 3 : 4 : 5 : ... 6 : Next »