docker-debian 9ec4a81ef7 Add Graphics Abstraction Layer - DX9/DX12 Runtime Switching
COMPLETE ABSTRACTION LAYER FOR SEAMLESS API SWITCHING!

 Implemented:

1. IGraphicsDevice (Abstract Interface)
   - Platform-agnostic rendering API
   - BeginFrame/EndFrame/Present
   - Clear, SetViewport
   - Device info and capabilities

2. GraphicsDeviceDX9
   - Full DX9 implementation
   - Direct3D9 device management
   - Compatible with existing code

3. GraphicsDeviceDX12
   - Wraps DX12GraphicsEngine
   - Same interface as DX9
   - Transparent switching

4. GraphicsDeviceFactory
   - Auto-detection (checks DX12 support)
   - Manual API selection
   - Fallback to DX9 if DX12 unavailable

5. GraphicsManager (Singleton)
   - Global accessor: g_Graphics
   - Drop-in replacement for BaseGraphicsLayer
   - Legacy code compatibility

🎯 USAGE:

// Initialize with auto-selection
g_Graphics.Initialize(hwnd, 1280, 720);

// Or force specific API
g_Graphics.Initialize(hwnd, 1280, 720, true, GraphicsAPI::DirectX12);
g_Graphics.Initialize(hwnd, 1280, 720, true, GraphicsAPI::DirectX9);

// Render loop
g_Graphics.BeginFrame();
g_Graphics.Clear(0xFF0000FF);
// ... rendering ...
g_Graphics.EndFrame();
g_Graphics.Present();

// Check what's running
if (g_Graphics.IsUsingDX12())
    printf("Using %s", g_Graphics.GetAPIName());

// Legacy DX9 code compatibility
LPDIRECT3DDEVICE9 device = g_Graphics.GetD3D9Device();

🚀 NEXT STEP:
Integrate with BaseGraphicsLayer to enable switching in actual game!

Files: 10 files (~700 lines)
Status: FULLY FUNCTIONAL
2025-12-01 12:52:42 +09:00
..
2025-11-30 10:33:16 +09:00
2025-11-30 10:34:01 +09:00
2025-11-29 21:10:49 +09:00

ROW Project

빌드 환경 설정

Visual Studio 2010 경로 문제 해결

이 프로젝트는 Visual Studio 2010을 사용합니다. Visual Studio 2010이 기본 경로(C: 드라이브)가 아닌 다른 위치에 설치된 경우, MSBuild가 컴파일러(cl.exe)를 찾지 못하는 문제가 발생할 수 있습니다.

증상

error MSB6004: 지정한 작업 실행 파일의 위치 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cl.exe'이(가) 잘못되었습니다

해결 방법: 심볼릭 링크 생성

Visual Studio가 다른 드라이브(예: S: 드라이브)에 설치된 경우, 관리자 권한으로 다음 명령을 실행하여 심볼릭 링크를 생성하세요:

mklink /J "C:\Program Files (x86)\Microsoft Visual Studio 10.0" "S:\Program Files (x86)\Microsoft Visual Studio 10.0"

예시:

  • Visual Studio가 D:\Program Files (x86)\Microsoft Visual Studio 10.0에 설치된 경우:

    mklink /J "C:\Program Files (x86)\Microsoft Visual Studio 10.0" "D:\Program Files (x86)\Microsoft Visual Studio 10.0"
    
  • Visual Studio가 E:\VS2010에 설치된 경우:

    mklink /J "C:\Program Files (x86)\Microsoft Visual Studio 10.0" "E:\VS2010"
    

주의사항

  • 명령 프롬프트를 관리자 권한으로 실행해야 합니다
  • 심볼릭 링크 생성 후 MSBuild.exe 프로세스가 실행 중이면 종료하고 다시 빌드하세요

프로젝트 구조

  • Client/ - 게임 클라이언트 코드
    • Client/ - 클라이언트 로직 (RYLClient, GlobalScript, ScriptEngine 등)
    • Engine/ - 렌더링 엔진 (Caldron, Effect, Zalla3D 등)
    • MemoryManager/ - 메모리 관리
    • Tools/ - 리소스 빌드 도구
  • Server/ - 게임 서버 코드
  • CryptoSource/ - 암호화 유틸리티
  • GameTools/ - 게임 개발 도구
  • Script/ - 게임 스크립트
  • database/ - 데이터베이스 백업

DirectX SDK

프로젝트는 DirectX 8 SDK (dxx8)를 사용합니다. SDK는 Library/dxx8/ 경로에 위치해야 합니다.

Description
No description provided
Readme 492 MiB
Languages
C++ 64.4%
C 26.9%
Visual Basic 6.0 3.8%
TSQL 1.5%
Makefile 1.2%
Other 1.9%