[링크] 동양과 서양의 차이
개발 이외의 자료는 링크하지 않으려고 했지만, 꽤나 공감가는 그림을 봐서 링크합니다. 동양과 서양의 차이를 중국 디자이너가 그렸다고 함니다. 공감가면서도 한편으로 씁쓸하군요:D

http://blog.naver.com/booyaso/50071240127
by 신동호 | 2009/09/29 05:06 | what's the aronze? | 트랙백 | 덧글(0)
프로그래밍, 그것을 알려주마! - 아키텍쳐 편1

이런 글을 쓰기 애매한 초보 프로그래머 입니다만, 전부터 프로그래밍에 대한 핵심을 정리하고 싶었습니다.



이어지는 내용
by 신동호 | 2009/09/23 20:55 | dead P society | 트랙백(1) | 덧글(5)
moment(적률)
boost accumulator 를 보면서 moment 라는 단어가 잘 이해가 되지 않아서 wikipedia 에 있는 설명을 좀 살펴 봤습니다.

원문: http://en.wikipedia.org/wiki/Moment_(mathematics)

이어지는 내용
by 신동호 | 2009/09/23 02:31 | math and physics | 트랙백 | 덧글(0)
[The Cg Tutorial] Chapter1. Introduction(1)

원문: http://http.developer.nvidia.com/CgTutorial/cg_tutorial_chapter01.html

역주: 문 문서부터는, 전문 용어를 번역을 하는 과정에서 혼동의 소지 있다고 판단되는 경우 원본 문서에 있는 단어를 그대로 사용하는 것을 원칙으로 합니다.

역주: 본 문서의 원본은 NVidia 에서 출간한 책의 온라인 본으로, 무료로 공개된 문서입니다.



이어지는 내용
by 신동호 | 2009/09/02 19:09 | dead P society | 트랙백 | 덧글(0)
[ogre3d] Build with CMake
본 문서는, Ogre3d 최신 버전인 1.7(Cthugha) 에서 바뀐 빌드 시스템에 대하여 설명합니다.

원본: http://www.ogre3d.org/wiki/index.php/Building_With_CMake

** 2009.10.31 다시 받아서 돌려보니 오거 실행 방식이 바뀌어서 한참 어리둥절 했네요; 아래 내용은 CMake 에 대한 내용이라 여전히 동일한데요, Sample/Common/$(ConfigurationFile) 폴더에 있어야 할 예제들이 가장 상위 bin 에 몽땅 dll 형태로 들어가 버렸네요. 여러 예제를 하나에 프로그램에서 보여주기 위해 예제 자체를 플러그인 형태로 만들고 각 예제를 한 프로그램에서 실행해 볼 수 있도록 SampleBrowser.exe 를 제공하게 되었습니다.

이어지는 내용
by 신동호 | 2009/07/20 22:53 | ogre3d | 트랙백 | 덧글(2)
[미완성] CMake 2.6 Documentation

** 너무 길고 번역이 재미가 없어 번역을 종료합니다.


CMake 는 이기종 간의 make 파일을 효과적으로 생성할 수 있도록 도와주는 유용한 도구입니다.

본 문서는 http://www.cmake.org/cmake/help/cmake2.6docs.html 를 번역하고 있습니다.


* 영어를 잘 못해서 번역을 하게 되었는데, 이번 번역은 특히나 허접하군요. 전.혀. 참고가 되지 않을 듯 싶습니다. 번역 후 CMake 를 사용하면서 좀 더 실용적인 지식이 풍부해지면 다시 블로깅을 해야 할 것 같습니다.

이어지는 내용
by 신동호 | 2009/07/15 22:25 | dead P society | 트랙백 | 덧글(0)
Post-Morden Debugging Your Application with Minidumps and Visual Studio.NET

원본 출처: http://www.codeproject.com/KB/debug/postmortemdebug_standalone1.aspx?fid=3419&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=26&select=1246024

Summary: 고객쪽에서 여러분의 응용프로그램이 다운되었다고 하더라도 minidumps 와 Microsoft Visual Studio.NET 디버거를 이용하여 디버깅을 할 수 있습니다. 이 아티클은 어떻게 minidumps 가 동작하는지, 어떻게 여러분의 프로그램이 다운될 때 덤프 파일을 생성할 수 있는지, 어떻게 덤프 파일을 Visual Studio.NET 에서 읽을 수 있는지에 대해 설명하고 있습니다. Minidumps 는 윈도우 운영체제와 Visual Studio.NET 과 같은 응용프로그램들의 안정성을 향상시키기 위한 Microsoft 의 에러 리포팅 프로그램의 핵심입니다. 이 아티클은 또한 어떻게 시스템 컴포넌트 중에 자동적으로 심볼을 찾는 Microsoft 심볼 서버를 사용하는지 설명하고 있습니다. 이 아티클은 여러분이 Win32 와 C++ 프로그래밍을 사용하고 있다고 가정합니다.



이어지는 내용
by 신동호 | 2009/06/10 19:51 | dead P society | 트랙백 | 덧글(0)
VC2008 환경설정 정리

제가 활용하고 알고 있는 것 위주로 간략하게 정리해 보았습니다.



이어지는 내용
by 신동호 | 2009/06/05 15:37 | dead P society | 트랙백 | 덧글(0)
Lua Tutorial 2, Programming in Lua
참조 문서: http://lua-users.org/wiki/TutorialDirectory

본 문서는 Lua Tutorial 의 일부를 발췌하여 간단하게 lua 문법과 활용 예제를 정리하고 있습니다.

이어지는 내용
by 신동호 | 2009/05/26 15:46 | dead P society | 트랙백 | 덧글(0)
Lua Tutorial 1, Introductory topics
참조 문서: http://lua-users.org/wiki/TutorialDirectory

본 문서는 Lua Tutorial 의 일부를 발췌하여 간단하게 lua 문법과 활용 예제를 정리하고 있습니다.

이어지는 내용
by 신동호 | 2009/05/26 13:51 | dead P society | 트랙백 | 덧글(0)
VisualStudio2008 에 cg 파일 highlight 기능 넣기
1. NVIDIA 사이트에서 최신 cg toolkit 을 다운로드 한 뒤 설치합니다.
2. 설치 폴더(예, C:\Program Files\NVIDIA Corporation\Cg\msdev_syntax_highlighting)로 이동하여 usertype.dat 파일을 VisualStudio common7\ide(예, C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE) 에 복사합니다.
3. 현재 버전까지는 vs9 에 등록하는 레지스트리 파일이 없으므로, vs8 레지스트리 파일의 사본을 만들고 텍스트 에디터로 사본을 수정합니다.
4. 아래와 같이 되어 있는 구문을,

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Languages\File Extensions\.cg]
@="{B2F072B0-ABC1-11D0-9D62-00C04FD9DFD9}"

다음과 같이 간단하게 수정하면 됩니다.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Languages\File Extensions\.cg]
@="{B2F072B0-ABC1-11D0-9D62-00C04FD9DFD9}"

5. 수정된 사본을 실행하여 레지스트리에 사용자 데이터를 등록합니다.
6. 이제 VisualStudio 2008 에서 cg 의 키워드가 하이라이트 된 것을 확인할 수 있습니다.
by 신동호 | 2009/04/28 13:24 | dead P society | 트랙백 | 덧글(0)
GPU Gems 3, Chapter 27. Motion Blur as a Post-Processing Effect
원문: http://http.developer.nvidia.com/GPUGems3/gpugems3_ch27.html

본 문서는 GPU Gems 3 권, 27장에 나오는 깊이 버퍼를 이용한 포스트 프로세싱 모션 블러에 대한 논문을 번역하고 있습니다. 깊이 버퍼만 있다면 이처럼 여러가지 재미있는 것들을 할 수 있군요:D 최근 논문들은 이처럼 깊이 버퍼를 활용한 내용이 많은데 이는 directx10 에 추가된 기능이기도 하다는 군요. directx9 에서는 rendertexture 로 만들어 줘야 할 것 같습니다.



이어지는 내용
by 신동호 | 2009/04/20 17:07 | dead P society | 트랙백 | 핑백(1) | 덧글(0)
엔진 개선
현재 사용하고 있는 엔진은 오픈소스 게임엔진인 Ogre3D 이지만 전체 시스템을 구성하기 위하여 database, script, statechart, management factor 를 추가로 구현하였다. 아래는 그간 구성하면서 느꼈던 점과 개선안을 정리한 개인적인 문서이다.

1. 에디터를 위한 UI 는 database 와 자동으로 연결이 되어있어야 한다. 즉, 어떤 기능을 만들고 table 을 만들어 수정가능하도록 구현하였다면, 새로운 기능의 table 을 수정하기 위한 에디터가 필요하게 되는데 이 작업이 매우 번거롭다. 최종 사용자가 아닌 내부 개발자 혹은 디자이너, 기획자가 사용할 에디터이므로 더더욱 미적 감각보다는 database 를 자동으로 반영하여 에디터를 자동으로 생성해 내는 쪽이 편리할 것 같다. 두번 이상의 반복은 죄악이다.

2. script, state, database 는 게임 안에서 바로 수정가능해야 한다. 윈도우로 나갈 필요도 없다. 직접 구현을 해보고 적용을 해보니 이 컨셉이 생각보다 유용하다. 좀 더 강력하게 보완해야 할 것 같다.

3. database 는 boost seriallizer 여 연동하여 xml 파일 시스템을 사용하고 있는데, 정의와 버전관리가 번거롭다. 새로운 테이블은 언제든지 수정되거나 추가/삭제 될 수 있으며 이는 기존 데이터의 무결성에 영향을 주어서는 안되며 컴파일 없이 이루어져야 편리하다. 마찬가지로, boost 를 적극적으로 사용하다 보니 성능은 우수하지만 컴파일 타임이 늦어지고 serializer, statechart 등이 빌드에 종속적이라는 것이 매우 큰 단점이 되었다. 성능적인 우수함을 손해보더라도 database 와 state 는 동적으로 제어 가능한 것이 좋을 것 같다.

4. 모든 모듈은 언제든지 붙였다가 땔 수 있어야 한다. 특히 게임상에서 listener 와 같은 녀석들을 효과적으로 제어할 수 있는 기능은 개발의 국제화(외국 프로그래머 및 외주에서 작업)에도 도움이 된다. 이는 모듈화를 더욱 잘게 쪼갠 개념인데 어떤 라이브러리 및 기능단위로 나뉘는 것보다 더 작은 규모인, "작업" 단위의 모듈을 말하는 것이다. 이렇게 잘게 쪼게어진 모듈은 자체가 단위 테스트가 될 수도 있다.

5. 이번 엔진을 설계할 때, 큰 줄기를 statechart, script, database, listener 로 삼았는데 개념적 확장이 필요할 것 같다. 기본 개념은 statechart 는 상태 진입/종료 시 script 를 호출하고 스스로는 자신의 상태와 어떤 상태로 전이 될 수 있는 지 등의 기본 개념만 알고 있다. script 는 누가 자신을 실행했는지, 현재가 어떤 상황인지는 모르고 그저 일하라고 하면 자신을 일만 하면 된다. database 는 말 그대로 database 로써 script 및 listener 에서 상수로써 접근하여 사용한다. listener 는 "작업" 단위로써 랜더 루프에 언제든지 꼽거나 뽑을수 있는 형태로 구현하였다. 

6. UI 는 역시 flash 다! flash 를 사용할 경우 가장 큰 이득은, 개발자가 UI 를 "완전"하게 무시할 수 있다는 데 있다. 
by 신동호 | 2009/04/09 10:18 | what's the aronze? | 트랙백 | 덧글(0)
그간 작성하다 말았던 비공개 포스트를 모두 공개로 바꿉니다.
마저 작성하자니 쉽지가 않아서, 그냥 공개로 바꿉니다.
by 신동호 | 2009/04/01 10:10 | what's the aronze? | 트랙백 | 덧글(0)
Visual Studio 2008 로 C/C++ 공부 시작하기

많은 사람들이 열정을 가지고 C/C++ 에 도전을 하지만 C/C++ 이라는 녀석이 생각보다 녹록치가 않아서 정복까지는 고된 여정이 기다리고 있습니다. 


본 문서는 처음 C/C++ 에 도전하는 도전자들을 위하여 MS 에서 제공하는 최신 컴파일 환경인 Visual Studio 2008 에 대해 간단히 알아보고, vs2008 의 기능을 이용하여 어떻게 문제를 분석하고 해결할 수 있는지에 대하여 간단하게 정리하고 있습니다.




이어지는 내용
by 신동호 | 2009/04/01 10:08 | dead P society | 트랙백 | 덧글(8)
다소 싼티나는 논문 분석 요령
수많은 논문과 최신의 기술들이 공개가 되어 있음에도 무조건 어려울 것이라는 거부감으로 인해 클릭하지 않았던 경험이 있으실 겁니다. 저 역시 미약한 지식과 짧은 가방끈으로 인해 아직까지도 분석에 어려움이 많이 있습니다만, 그 동안 분석하면서 느꼈던 내용을 짧게 정리해 보았습니다.

이어지는 내용
by 신동호 | 2009/02/12 20:17 | dead P society | 트랙백 | 덧글(0)
[ogre3d] Profiler
오거 프로파일러에 대한 간단한 사용 방법입니다.

1. 오거 프로파일러를 사용하려면 ogre 를 새로 빌드해야 합니다. OgreConfig.h 에 OGRE_PROFILING 0 을 1 로 바꾸고 빌드합니다.
2. 실제 프로젝트의 원하는 코드에 OgreProfiler.h 를 인클루드 하고 프로파일러 매크로를 사용하여 등록합니다. 
    OgreProfile("test");
   와 같이 적으면 해당 코드가 있는 지역 범위를 프로파일링 합니다. 특정 코드만 프로파일링 하는 경우,
    OgreProfileBegin("test");
    ...
    OgreProfileEnd("test");
   와 같은 메크로를 사용합니다.
3. 프로파일링 결과를 log 로 남기려면 원하는 시점에 Ogre::Profiler::getSingleton().logResults(); 를 호출하면 됩니다.
4. 실제 게임 화면에 비주얼하게 결과를 표시하고 싶다면 Ogre::Profiler::getSingleton().setEnabled(true); 를 호출합니다.
5. 프로파일링 결과는 기본값으로 퍼센트로 표기합니다만, Ogre::Profiler::getSingleton().setDisplayMode( Ogre::Profiler::DISPLAY_MILLISECONDS); 와 같이 시간으로 바꾸어 볼 수도 있습니다.

1번 정정합니다. 오거 프로파일러 메크로를 사용하거나 기본 프로파일링 찍힌 녀석들을 못쓰는 것 뿐이군요. 걍 오거 프로파일러는 빌드 안하고도(Ogre::Root 에서 생성을 안하게 됩니다) 직접 생성하여 사용 가능합니다.


by 신동호 | 2009/02/11 01:29 | ogre3d | 트랙백 | 덧글(0)
[build] 빌드 시간에 관한 고찰
제가 사용하고 있는 tip 을 간략하게 정리해 보도록 하겠습니다.

이어지는 내용
by 신동호 | 2009/01/30 15:39 | dead P society | 트랙백 | 덧글(0)
[dos] batch
Visual studio 혹은 간단하게 사용할 수 있는 batch 명령어 중에 유용한 옵션을 정리했습니다.


이어지는 내용
by 신동호 | 2009/01/29 11:44 | dead P society | 트랙백 | 덧글(0)
[gpu gems] 온라인 공개
GPU Gems 가 1, 2, 3 권 모두 온라인으로 공개가 되었네요. -_-; 비싸게 주고 샀는데.. NVIDIA developer 가시면 열람이 가능합니다.


by 신동호 | 2009/01/23 19:04 | dead P society | 트랙백 | 덧글(0)
[Tip] 시너지2를 대체할 Input Director
키보드 마우스 공유 프로그램인 시너지2의 경우 나온지 오래 되어서 여러 가지로 불편함이 많았습니다만, 새롭게 http://www.inputdirector.com/ 에서 시너지2 를 대체할 수 있는 녀석이 나왔더군요. 사용 방법은 시너지2를 셋팅했던 사람이라면 간단하게 할 수 있을 겁니다. 메인을 마스터로 잡고 옆에 쓸거를 슬레이브로 잡고 아이피만 엮어주면 간단하게 셋팅 완료됩니다.

일딴 서로간에 접속 속도와 성능이 좋고 이거 저거 신경쓸 필요가 없다는 것이 강점인것 같아 유용하게 쓰고 있습니다.
by 신동호 | 2009/01/23 18:53 | dead P society | 트랙백 | 덧글(0)
google code
이전부터 svn 서버를 운영하고 싶었으나 호스팅 할 수 있는 방법이 없어 포기했었습니다. 올해에는 ogre3d 를 분석하면서 공부를 해보고자 간단한 프로젝트를 만들 svn 을 다시 찾아 헤메이던 중, google code 를 발견하고 등록했습니다. 주소는 

https://whapsody.googlecode.com/svn/trunk/ 요건 svn 주소 입니다.

아직 아무런 내용이 없지만, 간단한 테스트 및 공부를 할 수 있는 환경을, 공부도 하면서 만들어 볼까 생각하고 있습니다.

즐거운 고민이군요:D
by 신동호 | 2009/01/07 21:05 | what's the aronze? | 트랙백 | 덧글(0)
[graphic] 감마 설정(펌)
감마 설정과 관련한 방법을 찾던 충 우연히도 쇼핑사이트에서 괜찮은 방법을 찾게 되었습니다. 이야기를 하고 가져온 이미지가 아님을 밝히며 출처는 표기 합니다만 그래도 저작권에 문제가 있다면 자삭토록 하겠습니다.

by 신동호 | 2008/12/18 15:25 | dead P society | 트랙백 | 덧글(0)
노력가

서른 줄에 닿도록 살아오면서, 나름의 기준으로 세상을 보았다. 내가 본 세상은 결코 만만치 않은 어떤 것이었다. 아무리 똑똑한 사람이라도, 아무리 노력하는 사람이라도 "성공" 을 보장받을 수 있는 사람은 없었다. 아무것도 확실한 것이 없고 어떤 노력은 무의미해 보이는 경우 조차 있었다. 나는 왜 노력가로 살아가야 하는가.

"성공" 을 보장 받을 수 있는 방법은 찾지 못하였지만, 확실하게 "성골할 수 없는" 방법은 알아내었다. 또한, "성공할 수 없는" 방법을 통해 거꾸로 내가 노력가로 살아가야 하는 이유를 찾게 되었다.

확실하게 "성공할 수 없는" 방법, 그것은 노력하지 않고 살아가는 것이다.




세상이 바뀌지 않는다고 존재하지 않는 그 무언가를 허망하게 탓하고 있을 것인가. 혹은 나의 힘으로 어찌할 수 없는 거대한 무엇을 원망하며 살아 갈텐가.

하지만 잘 생각해 보라. 세상을 바꿀 수 있는 방법은 두 가지나 있다. 나를 바꾸거나, 내가 바꿀 수 있는 작은 무언가 부터 바꾸어 나아가는 것. 둘 다 지금 당장 손쉽게 시작해 볼 수 있다.
by 신동호 | 2008/12/14 16:07 | what's the aronze? | 트랙백 | 덧글(1)
[Core Techniques and Algorithms in Game Programming] Chapter 16. Chinematography
본 문서의 원본은 http://gamealgorithms.tar.hu/index.html 에 있으며 관심 있는 부분인 "영화적 촬영 기법" 을 번역하였습니다.

이어지는 내용
by 신동호 | 2008/12/04 08:18 | dead P society | 트랙백 | 덧글(0)
[FMOD Ex] Tutorial 2, Getting started
상용 사운드 엔진인 FMOD Ex(이전 함수 버전에서 업그레이드 하여 나온 새로운 엔진으로 클래스 기반의 설계가 되어 있습니다) 의 Tutorials 를 번역하였습니다.

FMOD Ex 는 상용 엔진이지만 개인/학술적으로 사용하는 사용자에 한해서 무료로 모든 기능을 사용할 수 있는 전체 엔진을 공개하고 있습니다.

이어지는 내용
by 신동호 | 2008/11/30 22:54 | dead P society | 트랙백 | 덧글(0)
[FMOD Ex] Tutorials 1, 용어/개본 개념
상용 사운드 엔진인 FMOD Ex(이전 함수 버전에서 업그레이드 하여 나온 새로운 엔진으로 클래스 기반의 설계가 되어 있습니다) 의 Tutorials 를 번역하였습니다.

FMOD Ex 는 상용 엔진이지만 개인/학술적으로 사용하는 사용자에 한해서 무료로 모든 기능을 사용할 수 있는 전체 엔진을 공개하고 있습니다.

이어지는 내용
by 신동호 | 2008/11/30 20:34 | dead P society | 트랙백 | 덧글(0)


< 이전페이지 다음페이지 >