맨위로가기

다이렉트드로

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

다이렉트드로는 COM 기반의 API로, 주로 C++에서 사용하도록 설계되었으며, DirectX 7에서는 Visual Basic도 공식적으로 지원했다. .NET Framework용 Managed DirectX에서도 지원된다. DirectDraw는 구형 게임과의 윈도우 호환성 저하 문제를 야기하며, 32비트 색 깊이에서 실행 거부 또는 오류를 발생시키기도 한다. 이러한 문제를 해결하기 위해 WineD3D, cnc-ddraw, ts-ddraw, DDrawCompat, ddwrapper 등의 대체 기술이 사용된다.

더 읽어볼만한 페이지

  • DirectX - Direct2D
    Direct2D는 마이크로소프트에서 개발한 2D 그래픽 API로, 낮은 수준의 추상화, 고품질 텍스트 렌더링, 안티앨리어싱, 하드웨어 가속, 높은 DPI 지원 등의 특징을 가지며 다양한 분야에서 활용된다.
  • DirectX - 다이렉트쇼
    DirectShow는 마이크로소프트에서 개발한 윈도우 기반 멀티미디어 프레임워크이자 API로, 필터 그래프를 통해 비디오 재생, 오디오 녹음, 편집, 인코딩 등 다양한 작업을 처리하며, 뛰어난 코덱 확장성을 가지지만 복잡한 구조와 코덱 충돌 문제가 있다.
  • 그래픽 라이브러리 - Direct2D
    Direct2D는 마이크로소프트에서 개발한 2D 그래픽 API로, 낮은 수준의 추상화, 고품질 텍스트 렌더링, 안티앨리어싱, 하드웨어 가속, 높은 DPI 지원 등의 특징을 가지며 다양한 분야에서 활용된다.
  • 그래픽 라이브러리 - WinG
    WinG는 윈도우 3.x의 그래픽 성능 향상을 위해 개발된 기술로, DirectX로 발전하는 기반이 되었으며 한국 게임 산업에도 영향을 미쳤다.
다이렉트드로
개요
종류그래픽 API
개발마이크로소프트
운영체제마이크로소프트 윈도우
최신 버전(DirectX의 일부)
용도2D 그래픽 가속
게임 개발
상세 정보
설명다이렉트X API의 이전 구성 요소
대체 기술Direct2D
특징하드웨어 가속 2D 그래픽 렌더링 제공
인터페이스COM
프로그래밍 언어C++
API 스타일절차적
상태더 이상 사용되지 않음
관련 기술Direct3D
DirectSound
DirectInput
역사
최초 출시1995년 (DirectX 1.0)
최종 업데이트DirectX 8.1 이후 (기능이 Direct3D로 통합됨)
대체 시기DirectX 9 이후
기술적 세부 사항
표면기본 표면
오프스크린 표면
비디오 메모리 표면
블리팅비트 블록 전송 작업 지원
색상 키투명도 구현을 위한 색상 키 지원
하드웨어 가속그래픽 카드 기능을 활용한 가속

2. 지원 언어

DirectDraw는 COM 기반 API이며, 주로 C++(C++)에서 사용하도록 설계되었다. DirectX 7부터는 Visual Basic도 공식 지원하였다.[7]

2. 1. .NET Framework

.NET Framework용 Managed DirectX에도 DirectDraw 지원이 존재한다.[8]

3. 호환성 문제 및 해결 방안

DirectDraw에 의존하는 구형 게임들은 새로운 Windows 버전과의 호환성 문제가 발생할 수 있다. 예를 들어, 커맨드 앤 컨커, 워크래프트 2, 테마 병원과 같은 게임들은 32비트 색 깊이에서 실행되지 않거나, 화면 표시 오류가 발생할 수 있다. 이러한 문제를 해결하기 위해 DirectDraw를 다시 구현하는 방법이 관찰되기도 한다.

3. 1. 대체 기술

DirectDraw에 의존하는 오래된 게임들은 윈도우와의 호환성 문제가 발생했다. 예를 들어, 커맨드 앤 컨커, 워크래프트 2, 테마 병원과 같은 게임들이 영향을 받았다. 새로운 윈도우 버전에서는 일부 게임이 32비트 색 깊이에서 실행되지 않거나, 화면 전환 시 검은 화면이나 오류가 나타나는 문제가 발생했다. 이러한 문제를 해결하기 위해 DirectDraw를 다시 구현하는 방법이 사용되기도 했다.

DirectDraw의 기능을 대체하기 위해 일반적으로 사용되는 기술들은 다음과 같다:

  • 와인의 WineD3D[3]
  • CnCNet의 cnc-ddraw 및 ts-ddraw[4]
  • DDrawCompat[5]
  • ddwrapper[6]


각각의 기술들은 DirectDraw를 OpenGL, GDI, Direct3D 9 등으로 변환하거나, 문제가 있는 호출을 수정하는 방식으로 DirectDraw의 기능을 대체한다.

3. 1. 1. WineD3D

와인의 WineD3D는 DirectDraw 호출을 OpenGL로 변환하여 호환성을 제공한다.[3]

3. 1. 2. CnCNet

CnCNet의 cnc-ddraw 및 ts-ddraw는 커맨드 앤 컨커 멀티플레이어 네트워크이며, GDI, OpenGL (GLSL 지원 포함) 또는 Direct3D 9로 변환된다.[4]

3. 1. 3. DDrawCompat

DDrawCompat는 문제가 있는 DirectDraw 호출을 수정하는 바닐라 ddraw의 래퍼(wrapper)이다.[5] ddwrapper는 동일한 작업을 수행하는 이전의 관련 없는 래퍼이다.[6]

3. 1. 4. ddwrapper

ddwrapper는 DDrawCompat와 동일한 기능을 수행하는 이전의 관련 없는 래퍼이다.[6]

참조

[1] 웹사이트 Have you migrated to DirectDraw yet? https://blogs.msdn.m[...] 2007-08-13
[2] 웹사이트 DirectX 8 Graphics and Video: A Fresh Start http://www.gamedev.n[...] gamedev.net 2000-11-30
[3] 웹사이트 WineD3D For Windows https://fdossena.com[...] 2019-04-23
[4] 웹사이트 cnc-ddraw: GDI, OpenGL and Direct3D 9 re-implementation of the DirectDraw API for classic games for better compatibility with Windows XP, Vista, 7, 8, 10 and Wine https://github.com/C[...] 2019-04-21
[5] 웹사이트 DDrawCompat: DirectDraw compatibility and performance enhancements for Windows Vista, 7, 8 and 10 https://github.com/n[...] 2019-04-21
[6] 웹사이트 ddwrapper http://bitpatch.com/[...]
[7] 문서 Visual Basic で DirectX を使おう https://msdn.microso[...]
[8] 문서 Managed DirectX (その 1 DirectDraw) https://msdn.microso[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com