다이렉트드로
"오늘의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의 기능을 대체하기 위해 일반적으로 사용되는 기술들은 다음과 같다:
각각의 기술들은 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