英文:
If applications can't talk to device drivers, does it mean that OpenGL is implemented in DirectX in Windows?
问题
我有点困惑,程序不能直接与设备驱动程序通信,对吗?只有内核有权限与驱动程序通信,所以对于系统功能,我们需要向主机请求某些功能吗?
在Windows的情况下,它使用DirectX,这是否意味着OpenGL是在DirectX中实现的?如果不是,那么OpenGL如何能够直接与GPU通信?
英文:
I am a little confused, programs can't talk to device drivers right? Only the kernel has the privellege to talk to drivers so for system functionalities we need to make request to some functionality provided by the host?
In case of Windows it is DirectX, so does this mean OpenGL is implemented in DirectX? If not, how is OpenGL able to directly commmunicate with the GPU?
答案1
得分: 1
OpenGL可安装客户端驱动程序(ICD)分为用户模式和内核模式部分。内核模式部分是与硬件通信的部分。
请注意,默认情况下,在Windows上安装的OpenGL是一个仅软件渲染器,因此它使用DirectX/GDI来实际输出到显卡。
Direct3D也有用户模式和内核模式部分,其中内核模式部分是Windows显示驱动程序模型驱动程序。
请参阅Microsoft Learn。
英文:
The OpenGL Installable Client Driver (ICD) has a user-mode and a kernel-mode portion. The kernel-mode portion is the part that communicates with the hardware.
Note the default OpenGL installed on Windows is a software-only renderer, so it's using DirectX/GDI to do the actual output to the video card.
> Direct3D also has a user-mode and a kernel-mode portion, with the kernel-mode portion being the Windows Display Driver Model driver.
See Microsoft Learn
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论