집634 미싱 시모츠마 이야기로 유명한 타케모토 노바라의 중편 두개가 들은 책. 매우 얇다. 로리타 소녀 둘이 나와 그녀들의 독특한 사랑을 펼친다. 그래도 첫번째 이야기는 주인공이 남자다. 이 이야기는 독특한 설정이 인상깊었다. 억지로 열게 된 장사 안되는 잡화점에서 종이 비누만 사는(편집증?) 소녀와의 로맨스라... 그들이 보여주는 사랑은 무얼까. 말이 필요없다. 육체적인 것. 끌리는대로 가다가 이상하게 끝난다. 주인공이 경찰에 체포되는 이유는 거의 반전. 두번째 이야기는 결말을 위해 과속하여 치닫는 전개가 몰입을 좀 방해했다. 그저 때려죽이려고 등장한 화자(話者)라... 더 이야기하면 몰상식이니 참자. 2006. 10. 4. 삼색털 고양이 학창 시절에 추리 소설을 탐독한 이후로는 영 손에 잡지 않았다. 간만에 잡아보았다. 썩 만족스러운 작품은 아니다. 독자를 혼란시키기 위해 넣은 인물들의 당위성이 웬지 안 맞는다. 우연도 많고... 게다가 사람을 세넷씩 죽이는 살인마(?)를 동정하는 것도 웬지 어색하다(살인 이유도 이상하다). 살인 방법은 기가 막히나, 너무 힘들게 죽인다. 그냥 오락거리로만 볼 소설. 많은 걸 기대하지 말자. 2006. 10. 3. Windows Platform SDK의 DirectShow 샘플 컴파일하기 ※ 내 방식은 너무 무식하다. DirectShow가 아닌 다른 샘플또한 모두 makefile을 고쳐야하는 것이다! 그러나 같이 공부하는 학우가 더 쉽고 빠른 방법을 찾았다. http://blog.daum.net/idzuno/6037863 사용된 SDK: Microsoft Platform SDK for Windows Server 2003 R2 Samples\Multimedia\DirectShow 에 있는 샘플들은 정적 라이브러리와 헤더 파일의 경로가 지정되어 있지 않아 컴파일되지 않는다. 이걸 컴파일하려면 다음과 같이 진행한다. 1. 환경 변수를 추가한다. 변수는 MSSDK로 한다. 아래의 수정된 makefile 을 받아 사용하려면 반드시 이 이름을 써야한다. 값은 SDK가 설치된 폴더로 한다(예: C:\.. 2006. 9. 29. 미야모토 무사시 소설 같지가 않다. 미야모토 무사시는 워낙 유명한 검객이라 나도 이것저것 들은 건 많았다. 그런데, 여기는 그 외에도 몰랐던 이야기가 꽤 나온다. 자료를 한 트럭(?) 모아놓고 집필한다는 소문의 진실을 확인하는 순간. 그는 상대가 준비되지 않은 순간을 노려 결투하기로 유명했다. 재미있는 결투 이야기가 많이 나온다. 한국에는? 칼 대신 붓으로 이름을 날린 김삿갓이 있다. 2006. 9. 28. 전차남 게시판을 정리하여 출판한 책. 예술의 경지에 이른 일본 이모티콘의 화려한 작품들을 감상하는 것만으로 괜찮은 책. 근데, 전차남 사랑 이야기는 너무 단조로와서(너무 쉽게 풀린다) 전차남의 자작극이 아닐까 의심이 뭉게뭉게 떠올랐다. 뭐, 어쨌든 덕택에 많은 사람들이 즐거워했으니까. 이 책 꽤 재밌다... 2006. 9. 28. 뽈랄라 대행진 재밌는 책. 꾸밈없고 솔직하다. 야하고 더러운(!) 얘기가 가득하다. 심지어 코딱지 사진도 있다... 이 책을 쓴 아저씨또한 범상치 않은 이다. 잡동사니(?)같은 장난감 수집을 좋아하는 멋진 아저씨. 내가 나이 들수록 추구하는 바와 비슷하다고 할까? 게다가 이 아저씨는 일류 디자이너다. 이 책을 본 다른 학우는 유치하고 노골적이라 별로 재미없었다고 하는데, 뭐 내 관점은 이 책과 비슷하다. ^^; 나도 돌려 말하는 거 싫어하고, 내 살고 싶은대로 살다 죽고 싶다. 내 하나 뿐인 인생인데, 무엇에 지배될 필요있는가? 죽은 다음 영생이 기다린다면 다행이지만(개인적으로 죽음이 곧 영생이라 생각한다!), 아니라면... 대체 무엇 때문에 체면 치레를 해야하나. 2006. 9. 28. 빵가게 재습격 웬지 내게는 생각나는대로 쓴 책이란 느낌이 드는 건 왜일까... 아무런 결말도 기대하지 말길. 특히, 첫번째 이야기에서 부인이 산탄총을 갖고 있다는 설정은 너무 어색했다... 2006. 9. 28. prototype for CxImage library 소개 http://www.codeproject.com/bitmap/cximage.asp 홈페이지 http://www.xdp.it/cximage.htm 교수가 임무를 하나 주었다. 화면을 캡처해서 전송하는 것이다. 간단하지만, 제대로 해보려니 고려할 사항이 많았다. 전송하기 쉽게 연속형 배열로 만들고, 전송 효율을 높이기 위해 압축도 해야 한다. 전송 단계에는 어떤 문제가 발생할 지 모른다. 현재 예상되는 문제는 (1) 전송 완료가 (매우!) 오래 걸리는 경우 (2) 전송 중 연결 실패 등이다. 이 문제를 회피하기 위해 일단 layer를 하나 두고 진행하려고 한다. 캡처는 쉽게 이루어졌으나, 비트맵의 래스터 처리가 문제였다. 게다가 압축도 해야한다. 그런고로 이미지 처리를 단순화시켜야 했다. CxImage.. 2006. 9. 18. Inno Setup 5 Script 훌륭한 패키징 프로그램인 Inno Setup 5의 스크립트. 제작한 게임의 패키징을 위해 사용했다. 게임은 작지만 -.- 하나의 제품으로 완성해보고자 수고를 좀더 들였다. 작성한 스크립트의 기능은 다음과 같다.사용자의 컴퓨터에 Visual C++ 2005 DLL이 설치되었는지 검사하고, 없으면 설치한다.윈도우 XP 서비스팩 2가 운용되는 컴퓨터인지 확인하고, 그렇지 않으면 경고를 표시한 후 설치를 종료한다.선택한 언어에 따라 프로그램 그룹의 이름이 다르게 정해진다.선택한 언어에 따라 다른 파일을 설치한다.참고로 Inno Setup의 기능은 상용 프로그램 부럽지 않은 기능을 자랑한다. 사용하기 쉬울 뿐더러, 파스칼 형식의 자체 스크립트도 있어 입맛에 맞게 자유로이 바꿀 수 있다. 이만한 걸 한 개인이 만들.. 2006. 9. 9. Qt로 개발하면서 배운 점 비주얼 스튜디오에서 쉽게 폼을 헤더로 변환하기 Qt Designer에서 생성한 *.ui 파일은 프로그램에서 쓰려면 헤더 파일로 바꾸어야 한다. 이렇게 쓰면 쉽게 사용가능하다. 예로 about.ui를 바꿔보자.ui 파일을 솔루션에 등록한다.ui 파일의 속성창을 열고, General > Tool 값을 Custom Build Tool로 설정한다Custom Build Step으로 가서, Command Line에 이렇게 값을 넣는다. c:\Qt\4.1.3\bin\uic.exe About.ui -o ui_About.h(디렉토리는 uic.exe가 있는 곳으로 바꾸어야 한다)output을 ui_about.h로 설정한다.Additinal Dependency 값은 c:\Qt\4.1.3\bin\uic.exe로 설정(역시 디.. 2006. 8. 1. CQ 빌더 ※ 이 에디터는 더 이상 CQ를 위해서 사용될 수 없다. 너무 많은 사항이 변경되었기 때문이다. 안타깝지만, 개선할 시간도 없다. 공의 위치를 추출, 빛 조절, 일부 값 수정 등에만 유용하게 사용될 수 있다. Qt 사용에 대한 참고로 사용되길 바란다. [9.1] CQ라는 지능개발 게임의 스테이지를 구성하기 위해 만든 빌더. 에디터를 제작하기 위한 수요는 많고, Qt와 Ogre3D를 연계시키는 시도는 많았다. Ogre3D 포럼을 많이 참조했다. 사용 라이브러리: Qt 4.1.3 Open Source Edition : GUI가 예뻐서 채택한 GUI 라이브러리. 사용하기도 쉽다. 문서화도 좋고, 데모도 핵심을 찌른다.Ogre 1.2.1 Dagon : 그래픽 라이브러리. 개발 기간: 7.25 ~ 8.1 버전 파.. 2006. 8. 1. 당신은 어떤 세계에 살고 있는가? 2 한주동안 내내 코딩을 하느냐 독후감도 안 썼다. 음... 어쨌거나 이 책을 읽다보면 의견을 밝힌 사회과학자들이 공통적으로 밝히는 것이 보인다. 그것은 세계화를 피할 수 없다는 것 / 국가의 영역은 축소된다는 것 / 고도로 지식을 쌓지 않는다면 저임금을 벗어날 수 없다는 것 / 빈부격차는 더욱더 벌어진다는 것 / 기업은 점점 강해진다는 것 등등... 암울한 소식들을 읽을 수 있다. 게다가, 그것이 현실이다. 국가라는 우산은 없어지고, 저기 멀리 그림자를 덧씌우는 다국적 기업의 마수에서 개인은 무엇을 할 수 있는가. 자유인으로 살 수 있을까. 어렵다. 어쨌든, 도전의 시대이다. 2006. 8. 1. 막말의 암살자들 사카모토 료마 덕에 에도 말기에 대한 엄청난 관심이 나를 이끈다. 그 시절을 알면 알수록 서양의 충격에 놀라면서도 그들을 배워 이기려고, 막부를 뒤집고 무사 계급을 폐지하고 다이묘를 없애는 등의 급진적인 개혁을 했던 그들에게 경탄하게 한다. 태평양 전쟁으로 말미는 좋지 않았지만, 어쨌거나 조선도 그 주역이 될 기회가 있었다. 어쨌든, 이 책은 암살이 수시로 일어났던 에도 막부의 존왕양이파 지사 등의 암살자들 이야기를 담고 있다. 암살을 진행하면서 빚어진 에피소드, 후기가 꼭 수필처럼 그려져 있다. 그래서 더 현실적으로 느껴진다. 사카모토 료마를 읽었다면 아는 사람이 꽤 많이 나온다. 2006. 8. 1. 타올라라 검 에도 막부 말기, 쿄토를 지키던 신센구미의 부장 히치타카 도시조의 짧은 인생을 그린 작품. 서른다섯에 죽기까지 일개 무사에서 막부측에서 뛰어난 전술가로까지 활약하는 그의 모습이 글만으로 살아있음을 느낄 수 있다. 정말, 남자의 절의(근성), 비장함이 배어난다. 도시조가 백냥을 들고 구하려던, 그러나 고물상(?)에서 단돈 다섯 냥에 산 이즈노카미 가네사다라는 칼이 보고 싶다. 간간이 그가 남겼다는 시구가 나오는데, 소박한 것이 마음에 절실히 닿는다. 무엇보다... 이 책의 제목이... 정말 멋지다! 그냥 되내기만 해도 뜨거워진다. 2006. 8. 1. 버텍스 회전 이용하기 Ogre3D에서의 버텍스 회전 이동은 간단하게 이루어진다. 참조:http://www.ogre3d.org/wiki/index.php/Line3Dhttp://www.ogre3d.org/wiki/index.php/Quaternion_and_Rotation_Primer 작성한 코드는 MyManualObject라는 클래스를 갖고 있다. 이 클래스는 두 개의 메소드가 있다. 하나는 시작점과 끝점을 주어 3차원 공간 상의 선을 그린다. 또 하나는 3차원 형태의 화살표를 그린다. 화살표는 Z축 방향이 기본으로 그려진다. 회전을 위해 사원수 클래스가 쓰인다. Ogre3D에서는 사원수에 대한 개념 - Q(w,x,y,z)에서 w은 축에 대한 회전 정도, x,y,z은 물체가 이동할 축을 나타낸다는 점만 알면 쉽게 회전을 처리.. 2006. 7. 8. VisualStudio 2005에서 QT 작업하기 목차 QT를 VS용으로 컴파일하기 VS에서 작업하기 UI 파일이 컴파일되지 않을 경우 QWidget을 상속받는 클래스를 사용할 때 QT를 VS용으로 컴파일하기 이 글은 아래 링크 중의 글에서 중요한 내용만 추리고, 약간의 주석을 단 것이다. http://www.qtnode.net/wiki/Qt4_with_Visual_Studio 먼 저 QT 라이브러리를 받아야 한다. 단 소스 파일을 받아야 한다. 위 링크에도 받을 수 있는 경로가 있다. 아니면 제작사인 TrollTech 홈페이지에서 받아도 된다. 어쨌든 소스가 있어야 다시 컴파일을 할 수 있다. 트롤테크가 제공하는 바이너리 파일에서 lib 파일이 없다. 한편, 컴파일된 파일을 올리기에는 너무 용량이 크다. 컴파일 후 용량이 1.2GB에 달한다는 사실만 .. 2006. 7. 6. AABB 충돌 검사 방식에서의 정확한 구 검출 내가 구상한 게임은 다수의 구가 인접해있다. 따라서 Axis Aligned Bounding Box 형태의 충돌 검사는 부적절하다. 구를 덮기 위해 상자의 한 변은 최소한 구의 지름이 되어야 하는데, 아래 그림과 같은 문제가 발생한다. 그러나 AABB 방식은 엔진이 기본적으로 제공하는데다가, 검사도 빠르기 때문에 간단히 포기하기에는 아까웠다. 그래서 검출에는 AABB를 쓰고, 타당성 조사는 공식(직선과 점 사이의 최단 거리 구하기)을 사용하여 문제를 해결했다. 공식을 이해하는데 시간이 걸렸지만, 치환으로 유도되므로 간단하다고 할 수 있다. 인용: 좋은 게임을 만드는 핵심원리: 게임 수학과 물리. 거기에 이해하기 쉽게 주석을 곁들였다.(1) 직선 L의 방향 벡터를 구한다. 이 값은 단위 벡터가 되든 안되든 .. 2006. 7. 6. 료마가 간다 일본에서 1억부가 팔렸다는 소설. 메이지 유신의 극적인 과정을 료마라는 극적인 인물을 통해 생생하게 구성했다. 등장 인물이 하도 많아(10권이나 되는 분량을 풀어나가는 것이 쉬운 일은 아니다) 료마 외에는 인물상을 그려보기 어렵지만, 조선보다 더한 봉건국가였던 일본이 어떻게 근대국가로 탈바꿈하는 계기를 만들었는지 생생하게 알 수 있다. 단점이라면 멀고도 가까운 일본의 역사, 특히 근대에 대해서는 너무 생소해서 처음에는 몰입하기가 쉽지 않다. 그러나 흑선(서양 증기선)이 함포를 쏘며 개항을 요구하는 조선 말기의 분위기는 일본에서도 생생하게 느껴진다. 그 위기 의식... 그러나 일본의 변혁을 평화롭게 유도한 료마와 그리고 막부의 권력을 스스로 포기한 쇼군, 이 둘 덕에 지금의 일본이 있는 것이 아닌가 싶다... 2006. 7. 6. 빌보드 및 폰트 표시 테스트 현재 구상 중인 게임에서 구 안에 숫자를 표시해야 한다. 최초에는 배경을 두고 거기에 텍스트를 표시하려 했다. 이를 위해 Ogre3D에 쓸 수 있는 MovableText( http://www.ogre3d.org/wiki/index.php/MovableText)를 시험했다. (Ogre 1.21 필요) ※ 참고: MovableText에는 어떤 문제가 있다. 즉 어떤 특정한 글자 또는 짧은 문장이 표시되지 않는다는 점. Ogre3D 포럼에 어떤 한국사람도 질문했다. 일단 이 문제를 해결하는 건 간단. 표시할 문장 앞에 공백을 하나만 붙여주면 된다. MovableText는 버텍스버퍼를 직접 조작하여 각 문자마다 폴리곤 2개를 만들고, 폰트를 텍스처처럼 u, v 값을 얻어와서 매핑한다(u, v값은 미리 설정되는데.. 2006. 6. 29. SubEntity의 메쉬에서 버텍스 정보 얻기 서브 메쉬에 각각 빌보드를 표시해야한다. 이번 데모는 다음 기능을 테스트하고자 함이다. - 서브 메쉬의 좌표 값을 읽고, 여기에 시험삼아 어떠한 오브젝트든지 찍어본다. 그 러나... 서브 메쉬의 위치, 크기 정보를 얻는 메소드는 따로 없다. 따라서 인덱스 버퍼를 직접 액세스하고, 이를 통해 최대, 최소값을 얻었다(이는 일전에 이미 시험해보았다). 그리고 이를 통해 서브 메쉬의 위치를 얻었다. 인덱스, 버텍스 버퍼를 힙에 복사한 후 데이터를 처리한다는 점이 걸렸다. 그러나 비디오 메모리를 필요할 때마다 액세스할 수는 없고(도스 시절이 아니다...) 잠근 다음 액세스하고 다시 해제해야한다. 이 때문에 코드 처리를 위해 비디오 메모리를 계속 잠그고 있을 경우 문제가 생길 수 있다. 이걸 개선하려고 해보았지만 .. 2006. 6. 29. 세키가하라 전투 역사에 관심이 많은 나는, 붓으로 싸우는 조선시대(그 이전은 기록도 제대로 없다... 웃기게도 고려에 대해 아는 것도 정말 없다. 그 이전은 진짜 소설이나 다름없다)보다는 칼로 싸우는 옆나라의 전국시대에 더 흥미를 가져왔다. 그 유명한 야마오카 소하치의 대망 시리즈는 그 반복되는 패턴에 손을 놓았다. 세키가하라 전투는 오랜만에 드는 장편이다. 세키가하라라고 하면, 대망에도 중요하게 나오는 전투이다. 그도 그럴 것이 도쿠가와 막부가 에도에서 문벌 정치를 2백년간 펼치게 되는 결정적인 계기가 되기 때문이다. 이 책은 그저 사실과 허구를 섞어서 보여주는데 그치지 않고, 필자가 직접 개입하여 세키가하라의 등장 인물과 관련된 이러저러한 얘기를 들려준다. 여우 - 이시다 미쓰나리의 수많은 결함에도 불구하고, 너구리.. 2006. 6. 29. 성장의 종말 비관주의의 첨단을 볼 수 있는 책. 사물을 새로운 각도로 볼 수 있는 점은 참 좋다. 그러나... 처음부터 끝까지 모든 면을 나쁘게 보는데는 두 손 들었다. 꾹 참고 보았으나, 끝까지도 그렇다. 결론은 엄청난 변화를 해야한다는 것인데, 저자도 지식인인데 그런 극단적인 변화가 가능하다고 믿지는 않으리라 본다. 그럼 무얼 해야하는가. 문제는 예나 지금이나 사회를 변화시킨다는 게 장난이 아니라는 점. 더우기 국제화 시대에는 개인 혼자의 힘은 미디어에서도 한계가 있다. 일단, 미디어를 소비하는 대중이 장기간의 교육(?)을 받아들이지 못한다. 난 생각한다. 그저, 개인이 묵묵히 자기 믿는 바에 따라 길을 걷다 보면, 그 끝이 보일 것이다. 결과야 어떻게 되었든, 자신이 믿는 길을 가지 않았는가. 2006. 6. 29. QT with Ogre 방학이 되어 간단한 게임을 만들어보고자 공부 중. 같이 할 사람이 없어서 쓸쓸하고 집중도 쉽지 않다... 현재 퍼즐 게임을 만들어보고자 하는데, 스테이지를 구성할 에디터부터 만들려고 하고 있다. 그러려면 아무래도 편리한 GUI 인터페이스가 필요하다. 내가 생각한 GUI 라이브러의 조건은 1. STL 사용 가능 2. 편리한 GUI 코딩이었다. MFC는 유감스럽게도 1번을 만족하지 못한다. 참, 먼저 OgreDotNet을 이용하려 했는데 Ogre 1.2와 연동이 쉽게 되지 않아 포기했다. 그래서 생각한 것이 일전에 테트리스를 만들어본 QT였다. Ogre 엔진은 렌더러를 생성할 때 인자값으로 외부 핸들, 즉 표시할 창의 포인터를 넘겨주면 그곳으로 출력을 한다. 모든 GUI 라이브러리에 동일하게 적용된다. 간단.. 2006. 6. 26. MFC의 HTMLEdit 클래스를 이용한 응용 프로그램 브라우저에 표시된 HTML 일부를 드래그하여, MFC의 뷰에 붙여 넣을 수 있다. 구글의 노트북(http://www.google.com/notebook/) 웹어플리케이션에 감동받고 만들어보았다. MFC에는 이를 수행하는 클래스(HTMLEdit)가 있기 때문에 개발 난이도는 낮았다. Visual Studio 2005로 제작되었으므로, dll이 포함된 아래 패키지를 설치해야 한다. http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en 프로그램을 종료시키면 파일로 저장한다. 윈도우 프로그래밍의 기말 과제로 급하게 수행되어 다음 문제가 있다.모든 데이터를 메모리 상에 로드.. 2006. 6. 19. 도쿄 기담집 처음에는 웬지 노란 손수건 분위기가 나다가, 점점 아리송한 이야기로 향해간다. 그래서 기담집이겠지. 그러나 이건 뭐 여운이 남는 환상도 아니고, 그냥 이상한 이야기일 뿐이다. 다만, 처음 누나와 동생 이야기는 상당히 마음에 와닿았다. 있을법한 우연, 좋았다. 서점에서 사지 않고 첫 부분만 보았다면 후회는 없으리... 2006. 6. 19. 반도에서 나가라 그럴듯한 근미래, 군비 유지에 지친 미국과 북한이 화해를 하고 일본은 극심한 경제 침체로 어지럽다. 그러던 중, 북한에서는 비밀 임무인 '반도에서 나가라'가 실행되어 일본 후쿠오카를 침공한다. 겨우 9명으로 시작하여 AN-2를 타고 500명이 추가로 도착하고 일주일 뒤에는 무려 12만명이 도하한다. 그들이 오면 후쿠오카를 포함한 큐슈는 일본에서 분리되고, 한반도에 형성된 자본주의-사회주의 전선은 그곳으로 이동된다. 과연 일본을 구할 이들은 누구일까. 상권은 프롤로그를 제외하고는 이전의 무라카미 류 특유의 묘한 분위기가 완전히 배제된다. 거의 스릴러 소설 수준. 실감나게 전해지는 이야기도 일품. 하권부터는 그 특유의 마이너들이 활약한다. 대신 긴장감이 줄어든다. 상당히 많은 분량인데도 잘 읽히는 소설. 다.. 2006. 6. 19. QTOPIA 테트리스 QT기반의 윈도우 매니저인 QTOPIA에서 실행되는 테트리스. 임베디드 응용 프로젝트로 만들어졌다. 이것저것 손보고, 디버깅 코드도 은근히 넣었더니 5백줄 가까이 된다. QTOPIA SDK PDA Edition 1.7.0 으로 작성되었다. 버튼을 눌러 블럭을 제어한다. 이걸로 테트리스를 두번째 짜봤다. 기타:SDK를 설치하면 /opt/Qtopia 폴더가 생긴다. 여기에 문서, 예제, 라이브러리 등이 위치한다.그림은 /opt/Qtopia/pics 에 위치한다.실행 파일은 /opt/Qtopia/bin 에 위치한다.아이콘 파일은 /opt/Qtopia/pics/inline 에 위치한다.버그가 있다: 다음 블록을 표시할 때, 길쭉한 블록을 표시할 때부터 다음 블록 표시가 깨진다. 메모리를 덮어 쓰는 곳이 있는 것.. 2006. 6. 15. 이전 1 ··· 18 19 20 21 22 23 24 다음