If applications can't talk to device drivers, does it mean that OpenGL is implemented in DirectX in Windows?

huangapple go评论63阅读模式
英文:

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显示驱动程序模型驱动程序。

If applications can't talk to device drivers, does it mean that OpenGL is implemented in DirectX in 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.

If applications can't talk to device drivers, does it mean that OpenGL is implemented in DirectX in Windows?

See Microsoft Learn

huangapple
  • 本文由 发表于 2023年7月14日 06:33:40
  • 转载请务必保留本文链接:https://go.coder-hub.com/76683653.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定