What does DirectX use?
Hi, I'm considering futzing with graphics programming and the like, and I know that the main graphics libraries/tools/whatever are DirectX and openGL. Now, I have a question: Since these basically turn commands like "draw a line from here to here" into lower level code (telling which pixels to turn to which color, etc.), there must be some way to do the same sort of thing without having to use DirectX or openGL. What functions do they call, what parts of memory do they access, etc. How do they get ahold of the video card drivers to perform the more simple operations?
OpenGL and DirectX functions access driver level functions which access the Graphics card directly. For this reason, the graphic card's drivers must support OpenGL and DirectX. Neither of these graphics libraries are built on GDI or any other windowing APIs.
I'm not 100% sure, but I believe this is how it looks:
[OpenGL DLL] --- [OpenGL Driver] --- [Graphics Driver]
|-- User Mode -| |------------ Kernel Mode -----------|
Thanks for the reply, bithub. Now, how exactly would I gain access to similar low-level driver functions? In a perfect world I'd be able to treat the entire screen as a bitmap and have control over each pixel. It seems something like that should be possible, since I've seen it done with DOS programming, switching to mode 13h or whatever and then simply changing a byte in a huge array representing the screen to change the color of a pixel. Do you know any way to do this quickly and relatively low-level in Windows?