본문 바로가기

Programming62

Chapter 1.2 ASE File의 소개 ASE 파일이란 3D 데이터를 ASCII 형태로 출력한 파일이다. ASE 파일을 사용하는 이유 ASE는 이해가 쉽다. 일반 ASE로 출력한 데이터의 경우 이해가 쉽다. Binary 파일로 저장된 경우 그 값을 읽기가 쉽지 않다. 하지만 ASE는 Text 형태이므로 값들을 직접 볼 수 있으므로 쉽게 파악을 할 수 있다. 필요할 경우 조작이 쉽다. 가장 좋은 점 중에 하나로 Text 형태의 가장 큰 특징이라고 할 수 있다. 필요할 경우 출력된 ASE 파일에서 특정한 데이터를 간단하게 없애버리거나 추가하거나 하는 것이 자유롭다. 이는 프로그램을 테스트할 때 상당히 유용하다. 자신이 특정 엔진을 제작 할 때 필요한 데이터를 직접 조작할 수 있다는 점은 엄청나게 편리함을 준다. ASE에는 많은 내용을 담고 있다... 2008. 9. 25.
Chapter 1.1 다양한 데이터 출력 방법 3D Max 에서 데이터를 Export 할 수 있는 방법은 크게 3 가지가 있다. ASCII로 출력해서 읽어들이는 방법 Max SDK를 이용하여 추출하는 방법 Max Script를 이용하여 추출하는 방법 1. ASCII Export 가장 이해하고 다루기 쉬우면서 불편한 방법이다. ASCII Export는 기본적으로 3D 데이터들을 직접 Text형태의 ASCII 파일로 출력하는 방법이다. 파일의 확장자가 ASE이므로 일반적으로 ASE파일이라 부른다. 3D의 각종 데이터들을 Text로 출력하므로 출력된 파일들을 직접 눈으로 읽을 수 있다. 필요한 3D 데이터를 직접 Text파일로 출력한 이후 ASCII로 된 Text파일들을 직접 Parsing 과정을 거쳐 읽어들인 다음 사용할 수 있다. 이러기 위해서는 AS.. 2008. 9. 25.
Subversion/Apache/TortoiseSVN 를 활용한 버전관리 Subversion/Apache/TortoiseSVN 를 활용한 버전관리 법 동아리 세미나 용으로 제작했던 Subversion/Apache/TortoiseSVN 를 활용한 버전관리 법을 정리한 문서 입니다. 팀 작업을 하시는 분들에게 좋은 참고 자료가 되실 것 같아 공개 합니다. 물론 이건 어디까지나 간단히 사용법 차원에서 작성한 것이라 더욱더 자세한 것은 인터넷을 찾아 보세요 ^^* 2008. 8. 5.
Doxygen Quick Guide - Doxygen 주석 > *Doxygen 기본 스타일 /** */ *주석안에 아이템들 @breif ==> 설명을 쓴다. 여러줄을 쓸때에는 @breif를 쓰고 한줄 띄운다움 계속해서 쓰면된다. @file ==> 파일 이름을 구별할때. @return ==> 함수의 리턴값 나타낼때. @author ==> 작성자 이름을 나타낼때 @date ==> 작성날짜를 나타낼때. @param ==> 함수 파라메터를 나타낼때 @see ==> 참고할 함수나 페이지를 지정한다. @todo ==> 다음에 작업해야 될 내용 @bug ==> 버그에 대한 기술 @code ==>중요 코드를 설명할때 시작 지점 가리킨다. @endcode ==> 중요코드 설명할때 종료 지점 가리킨다. @exeception ==> @mainpage ==> Doxygen 메인 페이.. 2008. 8. 5.
항목 8. 예외가 소멸자를 떠나지 못하도록 붙들여 놓자. class DBConnection { public: static DBConnection create(); void close();}; 위의 DBConnection 객체에 대해 사용자가 cloase를 직접 호출해야 하는 설계이다. 사용자의 망각을 사전에 차단하는 좋은 방법이라면 DBConnection에 대한 자원관리 클래스를 만들어서 그 클래스의 소멸자에서 close를 호출하게 만드는 것이다. class DBConn { // DBConnection 객체를 관리하는 클래스 public: ... ~DBConn() // 데이터베이스 연결이 항상 닫히도록 확실히 챙겨주는 함수 { db.cloase(); } private: DBConnection db; }; 위의 두 클래스를 활용하여 다음과 같은 프로그래밍이 가능.. 2008. 7. 10.
단일체 (Singleton) 코드 #include template class Singleton { static T* ms_Singleton; public: Singleton( void ) { assert( !ms_Singleton ); int offset = (int)(T*)1 - (int)(Singleton *)(T*)1; ms_Singleton = (T*)((int)this + offset); } ~Singleton( void ) { assert( ms_Singleton); ms_Singleton = 0; } static T& GetSingleton( void ) { assert( ms_Singleton ); return ( *ms_Singleton ); } static T* GetSingletonPtr( void ) { return.. 2008. 7. 5.