Progress
Jump to navigation
Jump to search
DXGL is currently a work-in-progress and is currently considered alpha-quality software..
See DXGL Features for detailed information.
See Version history from the downloads section for release information and previous version downloads.
Also see DXGL Test Results for some detailed tests performed occasionally.
What works:
- DirectDraw object creation and destruction (versions 1 to 7)
- Display mode enumeration and switching (with emulated mode switching)
- Fullscreen and windowed modes.
- Basic Blt() functionality
- 8-bit color emulated with GLSL shader
What partially works:
- 3D graphics are only partially supported.
What doesn't work:
- Many functions are stubbed out and return an error
Roadmap
These are goals to be set for future releases. This is completely subject to change at any time.
- 0.5.26
| Implement multiple log levels: 100% complete | |
|
|
| Fix scaled primary writes: 0% complete | |
|
|
- 0.6.0
| Remove deprecated OpenGL APIs except when needed for OpenGL 2.x support: 100% complete | |
|
|
| Port DDraw to new rendering backend: 15% complete | ||
|
|
| Rewrite rendering backend: 1% complete | ||
|
|
- 0.6.x (higher priority)
| Fix reference counts: 90% complete | ||
|
|
| Validate DDraw parameters: 75% complete | ||
|
|
| Remove trace build, control tracing via config option: 25% complete | ||
|
|
| Fix resource leaks: 25% complete | ||
|
|
| Improve DDraw API: 15% complete | ||
|
|
| Improve color conversion on destination side: 0% complete | |
|
|
- 0.6.x (lower priority)
| Add mipmap surfaces: 95% complete | ||
|
|
| Support D3D2 textures: 95% complete | ||
|
|
| Isolate API from backend threads: 95% complete | ||
|
|
| Add depth buffer fill: 90% complete | ||
|
|
| Implement D3D execute buffers: 75% complete | ||
|
|
| Rework D3DTLVERTEX rendering: 50% complete | ||
|
|
| Add T&L for execute buffers: 50% complete | ||
|
|
| Group renderer commands into batches: 50% complete | ||
|
|
| Add client memory surfaces: 10% complete | ||
|
|
| Improve D3D backend: 1% complete | ||
|
|
| Support Blt() to/from different surface formats: 0% complete | |
|
|
| Expand use of PBO transfers: 0% complete | |
|
|
| Improve filtered color key Blt(): 0% complete | |
|
|
| Postprocess scaling for change mode with fallback: 0% complete | |
|
|
| Add framerate limiter: 0% complete | |
|
|
| Improve fog support: 0% complete | |
|
|
| Add multisampling: 0% complete | |
|
|
| Precompile generated shaders used in previous sessions: 0% complete | |
|
|
| Fix clippers on NVIDIA GeForce 6 series GPU: 0% complete | |
|
|
- Future
| Support multiple DirectDraw drivers per process: 95% complete | ||
|
|
| Support surface color depths: 75% complete | ||
|
|
| Convert from C++ to C: 50% complete | ||
|
|
| Support NULL HWND: 25% complete | ||
|
|
| Implement and improve API functions: 25% complete | ||
|
|
| Support GCC/MinGW compilation: 5% complete | ||
|
|
| Create Doxygen documentation [MAYBE]: 5% complete | ||
|
|
| Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo: 1% complete | ||
|
|
| Support Per-Monitor v2 DPI awareness in DXGL Config: 0% complete | |
|
|
| Advanced VSync support: 0% complete | |
|
|
| Hook GDI palette function: 0% complete | |
|
|
| Support GL_ARB_texture_barrier for destination color keying: 0% complete | |
|
|
| Workaround for "System (Enhanced)" DPI scaling, if necessary: 0% complete | |
|
|
| Support configuring old/legacy DXGL versions [MAYBE]: 0% complete | |
|
|
| Add DXGL loader stub to fix programs that demand ddraw.dll from system32: 0% complete | |
|
|