Angler Blog
-
Const 위치에 따른 특징랭귀지/C\C++ 2009. 10. 15. 15:43
CDump& CDump::Func(const char* pt); CDump& CDump::Func(char* const pt); const CDump& CDump::Func(char* pt); CDump& CDump::Func(char* const pt) const; 위치 상으로는 4가지이지만 이게 조합되면 더 많은 경우가 발생하게 된다. 1. CDump& CDump::Func(const char* pt); 이 경우는 Func 메소드에서 pt 포인터 변수에 문자열의 주소를 받고,이때 Func 메소드에서는 pt 포인터 변수가 가리키는 문자열의 공간의 데이터를 상수화 되어 데이터자체를 변경할 수 없다. 하지만 pt 변수는 다른 문자열 주소를 받을 수 있다. pt는 변수를 const한게 아니라 가리키는 곳을 ..
-
OGRE3D Tutorial.03 카메라 뷰포트 설정GamePrograming/Orge Engine 2009. 10. 9. 13:22
Tutorial Basic Setup New Project -> OGRE SDK Application -> Minimal application "프로젝트 속성 -> 구성속성 -> C/C++ -> 일반 -> 추가 포함 디렉터리" 항목에 "$(OGRE_HOME)\samples\include" 을 추가한다. #include "ExampleApplication.h" class OgreTestApp : public ExampleApplication { public: OgreTestApp() { } ~OgreTestApp() { } protected: void createCamera(void) { mCamera = mSceneMgr->createCamera("PlayerCam"); mCamera->setPositi..
-
OGRE3D Tutorial.02 물체 띄우기GamePrograming/Orge Engine 2009. 10. 8. 17:47
SceneManager Basics Everything that appears on the screen is managed by the SceneManager (fancy that). When you place objects in the scene, the SceneManager is the class which keeps track of their locations. When you create Cameras to view the scene (which we will cover in a later tutorial) the SceneManager keeps track of them. When you create planes, billboards, lights...and so on, the SceneMan..
-
OGRE3D Tutorial.01 기본화면 띄우기GamePrograming/Orge Engine 2009. 10. 8. 17:06
New Project -> OGRE SDK Application -> Minimal application "프로젝트 속성 -> 구성속성 -> C/C++ -> 일반 -> 추가 포함 디렉터리" 항목에 $(OGRE_HOME)\samples\include" 을 추가한다. "프로젝트 속성 -> 구성속성 -> 디버깅 -> 작업 디렉터리" 항목에 $(OGRE_HOME)\bin\debug 추가 "도구 -> 옵션 -> 프로젝트 및 솔루션 -> VC++ 디렉터리" 포함 파일과 라이브러리 파일 추가 {PROJECT_NAME}.cpp 파일 보기 // Create application object //OgreTestApp app; try { //app.go(); } catch( Ogre::Exception& e ) { //주석..
-
OGRE3D 초기 셋팅GamePrograming/Orge Engine 2009. 10. 8. 16:09
2. 필요한 자료들 Visual Studio 2005 Kor Team Suite VS80sp1-KB926605-X86-KOR.exe (비주얼 스튜디오 2005 서비스팩 1 필수!) OgreSDKSetup1.4.9_VC80.exe (OGRE3D SDK 1.4.9 for Visual Studio 2005 SP1) ogresdkwizard80_Eihort_v1_4_2.zip (OGRE3D Project Wizard for Visual Studio 2005) 3. 설치 방법 먼저 비주얼 스튜디오 2005 이미지를 넣고 설치를 합니다. 설치 할때에 다른건 설치할 필요 없고 C++만 설치하면 됩니다.설치를 마쳤으면, VS80sp1-KB926605-X86-KOR.exe 를 실행하여 서비스팩을 설치합니다. 서비스팩 설..
-
문자형식 변환랭귀지/C\C++ 2009. 7. 14. 14:41
유니코드 -> 멀티바이트 : WideCharToMultiByte() 멀티바이트 -> 유니코드 : MultiByteToWideChar() 자세한 내용은 MSDN을 참고하고 일반적으로 사용하는것은 다음과 같이 하면 된다. [유니코드 -> 멀티바이트] WCHAR *strWC = _T("abcde"); CHAR strMB[1024]; WideCharToMultiByte( CP_ACP, 0, strWC, -1, strMB, 1024, NULL, NULL ); 유니코드 문자열인 strWC의 내용이 멀티바이트 문자열로 strMB에 들어간다. 함수의 4번째 인자에는 변환할 문자열 길이가 들어가는데 -1로 하게 되면 원본(strWC)문자열에서 NULL문자가 나오는 곳까지 모두 변환하게 된다. 함수의 5번째 인자는 변환해..
-
사원수를 이용한 로테이션GamePrograming/Direct3D 2009. 6. 25. 12:26
a.end = D3DXVECTOR3(0.0f, 0.0f, 400.0f); D3DXVECTOR3 dot3(1.0f, 0.0f, 0.0f); D3DXVECTOR3 vAxis(0,1,0); float fAngle = acos(D3DXVec3Dot(&a.end, &dot3) / (D3DXVec3Length(&a.end)* D3DXVec3Length(&dot3))); D3DXQUATERNION q; D3DXQuaternionRotationAxis(&q, &vAxis,fAngle); inverseRotate(q,a.end); void inverseRotate(D3DXQUATERNION& q, D3DXVECTOR3 & v) { D3DXQUATERNION myInverse; myInverse.x = -q.x;//*ms..