SDK download

d3dx9_??.dll  파일이 없다고 나오면 다음 파일( DirectX 런타임 ) 을 설치해서 실행 하십시요
setup.zip

XSDK3D_20120222.rar
XSDK3D_DATA_20120222.rar

- Microsoft DirectX SDK (February 2010) 이상 사용 권장! ( D3DXCreateEffect error 메세지 발생할수 있습니다 )


HISTORY

 
Movie( SDK 프로그래밍 해설 )


곰플레이어로 보세요. 앞에 번호가 낮은 순서부터 보시는게 좋습니다.     


 6 gui_menucode

     

 

3 pris GUI puzzle

4 Performance

5 엔진 소스 설명-1

 
gui_tut_GUI1.avi gui_tut_GUI4.avi  

0 source basic

1 tut_GUI1

2 tut_GUI4

 
FAQ

0.엔진 공부를 어떻게 시작해야 하나요?

1. 일단 툴과 관련된 동영상들을 봐야 합니다.
  프로그래머라도 그래픽 디자인과 원활한 컴뮤니케이션 을 위해서는  각종 툴들을 사용할수 있어야 합니다.
  프리스 툴은 필수적으로 전부 보는게 좋습니다.

2. SDK 를 차례로 습득합니다.
  엔진 공부는 SDK 샘플들을 공부하는게 전부입니다. 약 130개의 SDK 샘플에 X엔진의 활용에 대한 모든 예제가 들어있습니다.

3. SDK 관련 동영상들을 봅니다.
  상단에 있는
Movie ( SDK 프로그래밍 해설 ) 은 반드시 봐야 합니다.

4. SDK에 관련된 FAQ는 항상 주기적으로 업데이트 된 걸 읽는게 좋습니다.

1.Visual C/C++ 6.0 은 지원하지 않나요?

Visual 6.0은 지원하지 않습니다.
MS사의 DirectX SDK 최신 버전을 쓰기 위해선 Visual 2005 버전 이상이 필요합니다.

꼭 필요하다면 풀소스 라이센스로 소스버전을 받아서 6.0으로 다운 포팅하는 방법이 있습니다.
 

2.각종 툴을 사용 할려면 처음에 어떻게 해야 하는지요?

각 툴 페이지에 동영상 메뉴얼이 상세하게 전부 다 나와있습니다. 동영상을 다운받아서 보세요.

3.툴 다운로드 받은것을 어떻게 실행하는지요?

축을 원하시는 폴더에 푼 다음 그냥 실행파일을 클릭해서 실행하면 됩니다.

4.프로젝트 컴파일시 링크 에러가 뜹니다.

대부분 런타임 라이브러리 설정을 잘못 한 경우가 많습니다. 다음 사항을 점검해보세요.
X엔진은 초기치 설정으로
Multithreaded, static link 를 사용하고 있습니다.

1. LIBC.LIB 
LIBCP.LIB   MSVCRT.LIB  MSVCPRT.LIB  관련 링크 에러가 뜨는 경우
Multithreaded, static link 옵션으로 프로젝트 설정을 하지 않았거나
링크된 엔진말고 다른 라이브러리가 Multithreaded, static link 옵션으로 컴파일되지 않은 경우 입니다.
링크 하고자 하는 모든 라이브러리를 Multithreaded, static link 로 통일 시켜주는게 좋습니다.
부득이한 경우 링크의 input 옵션에서
LIBC.LIB  LIBCP.LIB   MSVCRT.LIB  MSVCPRT.LIB  를 무시해줘도 되나
안정성이 보장되지 않습니다

2. 디버그 환경에서
LIBCMT.LIB , LIBCPMT.LIB 링크 에러가 뜨는 경우
Multithreaded, static link 디버그 환경에서 LIBCMT.LIB , LIBCPMT.LIB 링크에러가 뜨는 경우는 디버그 환경에서
릴리즈 Multithreaded, static link 를
결합했기 때문입니다. 엔진제외 다른 라이브러리 결합해서 릴리즈를 결합하지
않았는지 점검해보세요.

Visual C 6.0 버전이상은 STL를 쓴다면 디버그와 릴리즈 라이브러리는 같이 쓰일수 없게끔 되어 있습니다.

Run-Time Library 종류

C Run-Time Library

Standard C++ Library

 

release

debug

release

debug

Single threaded, static link

LIBC.LIB 

LIBCD.LIB 

LIBCP.LIB

LIBCPD.LIB

Multithreaded, static link

LIBCMT.LIB

LIBCMTD.LIB

LIBCPMT.LIB

LIBCPMTD.LIB

Multithreaded, dynamic link

MSVCRT.LIB

MSVCRTD.LIB

MSVCPRT.LIB

MSVCPRTD.LIB

5.STL 관련 컴파일 에러가 뜹니다.

X엔진은 STL 관련 코드를 전혀 쓰고 있지 않습니다. 외부 라이브러리 혹은 프로젝트 런타임 라이브러리 설정을 점검해보세요.

6.DirecX 링크시 다음 에러가 뜹니다.

XEngine.lib(XCShaderSystem.obj) : error LNK2019: _D3DXGetShaderConstantTableEx@12 외부 기호(참조 위치: "public: void __thiscall CXSHADER::AddPixelShader(char const *,class CPixelShader *)" (?AddPixelShader@CXSHADER@@QAEXPBDPAVCPixelShader@@@Z)
함수)에서 확인하지 못했습니다.

DirectX November 2007 SDK 이상 버전 에서만 위 함수가 제공됩니다. DirectX November 2007 이후의 DirectX 와
링크하시기 바랍니다.

 

 

XSDK

엔진 소개

VC2005 과 VC2008 버전 둘다 호환됩니다.
라이센스시 받은 엔진 소스는 참고용 입니다. study용으로만 보시고 실 개발은 홈페이지의 XSDK로 이루어집니다.
XSDK는 일주일에 한번 정도 업데이트 되며 엔진 소스는 한달에 한번 새로이 제공됩니다.
홈페이지에 있는 XSDK 라이센스 키 코드만 삽입하면 정식 버젼으로 사용하실수 있습니다.
라이센스키 역시 두달에 한번 갱신되며 라이센스 업체에 개별 전달됩니다.

XEngine은 다른 엔진과는 틀리게 업데이트 주기가 굉장히 빠릅니다. API는 변하지 않지만 내부가 자주 업그레이드
되기 때문에 엔진 소스를 직접 링크하는것 보다 홈페이지의
XSDK 가 훨씬 편합니다.

빠른 주기적인 업데이트를 원하시면 SDK로 하시고 엔진 공부 하면서 하실려면 소스로 하시면됩니다.

개설된 전용 ftp에 프로그래밍에 필요한 동영상들이 있습니다. 번호 순서대로 보세요. 엔진키도 ftp에 있습니다.

SDK 디렉토리 설명

data           
  
샘플에 필요한 데이타
HGUI           

    HControl.h - GUI 헤더 파일.
INC            
    XEngine.h - 메인 엔진 헤더파일. 기본적으로 요구되는 모든 헤더파일이 인클루드 되어 있기 때문에 이것 하나만 인클루드 해서 사용하시면 됩니다.
Lib            
    d 접미사가 붙은 것은 debug 용
    tte 접미사는 는 툴용
    접미사 없는것은 release 용
 
    _MYSDK - 기타 보조 라이브러리. 엔진은 기본적으로 헤더를 인클루드 해서 사용하고 있습니다. 반드시 링크 시켜야 함.
    _XEngine.lib - 메인 엔진 라이브러리
    _HGUI.lib - GUI 라이브러리
    _XUT.lib - 유틸리티 라이브러리
    _XFX.lib - 특수효과 라이브러리.
    _XNET.lib - 네트웍 라이브러리


MySDK          
    MySDK.h - 간이 자료구조 라이브러리 헤더파일

Sample       
 
    기본 샘플
Sample2D       
   
2D 관련 샘플
Sample3D       
    3D 관련 샘플
SampleFX       
    FX에 관련 샘플
SampleGame     
   
게임과 관련 샘플
SampleGUI      
    GUI 관련 샘플
SampleNET      
   
NET 관련 샘플
S
amplePhysics  
    물리 관련 샘플

XFX            
    XFX.h - 특수효과 헤더파일
XNET           
    XNET.h - 네트웍 라이브러리 헤더파일
XUT            
    XUT.h - 유틸리티 헤더파일

주의 사항

- DirectX SDK 2008 June 이상 버젼을 쓰십시요.
- DirectX retail 버젼으로 셋팅하십시요. ( 제어판 -> DirectX -> Direct3D -> Retai! 셋팅 )

-
XSDK3D_DATA 는 sdk 의 data에 풀어줘야 합니다. ( XSDK의 data 디렉토리 하위에 2d,3d,common,... 디렉토리가 위치하게 합니다.)

- Character Set은 Not Set으로 합니다.


- Code generation

Debug 시 Multi-threaded Debug
Release 시 Multi-threaded  로 선택해줍니다.

Sample

BASIC

tut_Array
엔진 에서 쓰이는TARRAY 클래스 관련 예제

tut_ChildWindow_2008
Xengine 을 이용한 Child window 뛰우는예제

tut_ExternDEVICE_2008

외부 엔진과 X엔진을 결합 하기 위한 예제 입니다.
외부 엔진의 윈도우 와 D3D를 가져다 씁니다.

tut_Font_2008
각종 폰트 출력 예제

tut_FrameSkip_2008
프레임스키핑 활용예

tut_FrameWork_2008
엔진 프레임워크 구조 예제

tut_Input_2008
키보드 제어 관련 예제

tut_Load_2008
로드시 카운터 출력과 실시간 윈도우 사이즈 위치 조절 예제

tut_MFC_2008
MFC 프레임웍 example

tut_MFC1_2008
MFC 프레임웍 example1

tut_NullAPP_20080
아무것도 하지 않는 샘플

tut_RenderStructure_2008
렌더링 절차와 화면 필터를 적용합니다.

tut_String_2008
엔진에서 쓰이는 스트링 관련 클래스 예제

tut_TimeFunc_2008
시간 출력에 관련된 함수 쓰임새

 

2D

tut_DigitalIMG_2008
숫자 이미지로 표시하는 CDigitalIMG 클래스 사용 예제

tut_DrawFunc_2008
xDraw_ 관련 API사용 예제

tut_FadeINOUT_2008
머터리얼 디퓨즈 알파를 사용한 fadein out 예제

tut_ImageCOL_2008
Image 관리 클래스 예제

tut_Marine_2008
바닷속 효과를 내기 위한 스프라이트 렌더링 예제

tut_OpenCV_2008
USB 카메라 활용 예제. 반드시 USB 카메라가 있어야 동작합니다.

tut_Performance_2008
텍스춰 로딩시 비디오 램에 걸리는 부하 테스트

tut_ScreenFX_2008
스프라이트 에니메이션 출력 예제

tut_Sprite2D_2008
다양한 2D 스프라이트 사용 예제를 나열.

tut_SpriteANITC_2008
U,V 텍스춰 좌표 에니메이션을 이용한 예제.

tut_SpriteANITEX_2008
스프라이트 에니메이션 출력 제어 예제

tut_SpriteBLEND_2008
스프라이트 블렌딩 처리 예제

tut_SpriteMovie_2008
동영상 플레이 예제

tut_Texture_2008
텍스춰 관련 예제.

tut_ViewportClip_2008
뷰포트 설정을 사용한 클리핑 예제입니다.

3D

tut_AniModel_2008
에니메이션 모델링 렌더링 예제

tut_CharacterLOD_2008
캐릭터 LOD 처리 클래스 예제

tut_DynamicModel_2008
다이나믹 모델 로딩 예제

tut_HWModel_2008
하드웨어 렌더링 모델과 퍼포먼스 테스트 예제

tut_MakeModel_2008
모델을 수작업으로 빌드!

tut_MaterialMGR_2008
머터리얼 관리 예제.

tut_ObjectMGR_2008
오브젝트 관리 예제

tut_Parallax_2008
머터리얼에 출력에 쓰이는 여러가지 재질 쉐이더 테스트 샘플

tut_RenderTarget_2008
텍스춰에 렌더링 하는 샘플

tut_StaticModel_2008
Static model 관련 예제

tut_CameraMENU_2008
단순 카메라 메뉴만 띄우는 예제

tut_CameraNavigate_2008
충돌 처리되는 카메라 예제.
왼쪽 마우스 드래그에 의해 회전과 움직임 예제.

tut_CameraPath_2008
카메라 패스를 에니메이션 으로 적용하는 예제
캐릭터를 추적 하는 카메라 행렬 여러가지 모드 설명

tut_SideScroll_2008
카메라 패스를 에니메이션 으로 적용하는 예제

tut_BasicChar_2008
tut_BasicChar1_2008

캐릭터 에니메이션 지정 예제

tut_CharacterFX_2008
캐릭터에 관련된 각종 FX들 예제

tut_CharacterNavigate_2008
캐릭터 이동 처리 예제

tut_Chracter1_2008 
로딩 프로그래스바 예제. 캐릭터 그림자대신 원반 모양의 쉐도우를 출력하는 CChar  클래스를 작성 합니다.

tut_MaskANI_2008
BONE을 선택적으로 에니메이션 할수 있습니다. 상하체 분리시 사용.

tut_MultiANI_2008
anp 매니저 파일이 아닌 *.dbp로 구성된 여러개의 모델을 따로이 취급 하는 예제

tut_SkinANI_2008
캐릭터 에니메이션 지정 방법과 투명 처리에 대한 예제

tut_Cartoon_2008
카툰 캐릭터 렌더링 예제

GAME

tut_Dungeon_2008
인스턴트 던젼 처리 예제

tut_Elcard_2008
던전 월드 캐릭터 네비게이션 예제

tut_Flying_2008
날으는 캐릭터 처리 예제

tut_MarbleLand_2008
레디오시티 월드 캐릭터 네비게이트 예제

tut_Marine3D_2008
3d 물고기 움직임 처리 예제

tut_MMO_CLIENT
MMORPG 게임 클라이언트 예제

tut_MMO_SERVER
MMORPG 게임 서버 예제

tut_NPCSystem_2008
NPC AI 시스템에 대한 예제 설명
PAK 파일( 데이타 팩킹 파일 ) 사용법 예제

tut_Radar_2008
미니맵에 캐릭터를 레이다 형식으로 출력

tut_ROOM_2008
라이트 토글 스위치
TV 모델에 동영상 출력

tut_SNOW_2008

지형 월드 캐릭터 네비게이션 예제

tut_WideWorld_2008
6개 화면 분할 렌더링 예제( 360도 렌더링 )

tut_WideWorld1_2008
C3DWater 를 이용한 3개의 프로젝터 영사기 렌더링 실린더 스크린 예제!

 

 

Screenshot

2011/7/28