除DirectX / OpenGL之外是否还有较低级别的API?

我听说OpenGL和DirectX调用实际上已被视频驱动程序转换为特定于卡的调用。 我也知道,有时一个新的视频驱动程序可以将视频游戏中的性能提升50%,而无需开发人员进行任何操作。 如果我想要对视频卡进行精细的纹理控制,可以在DX / OpenGL以下的级别进行吗? Nvidia / AMD是否发布供应商特定的API?


NVidia保持其GPU编程模型的秘密。 没有机会比DirectX,OpenGL,CUDA或OpenCL低。

AMD / ATI打开了他们的文档,但这对日常工作程序员来说可能太低了:http://developer.amd.com/documentation/guides/pages/default.aspx#open_gpu

英特尔开放他们的Linux驱动程序的源代码,并有一些文档。

AMD和英特尔的Linux开源驱动程序都通过名为DRI2 / DRM的低级API; 结合KMS也称为Gallium。 MesaGL位于DRI之上,所以在Linux中实际上比图形卡的OpenGL级别API要低。 MesaGL是一个所谓的DRI状态跟踪器,从我听说WINE开发者的Direct3D-10(和11?)状态跟踪器已基本完成,因此在可预见的将来,WINE将支持本地Direct3D。 当然,只会与DRI一起工作,所以不支持NVidia GPU。


忘记它吧,你将花更多的时间阅读某些SDK并支持所有可能的视频卡。 让我给你一个建议:只要阅读文章,解释如何使D3D或OpenGL应用程序有效(缓存,上下文切换等)。


在AMD / ATI上:

OpenCL - 编译 - > IL - 编译 - > ISA - 链接 - > ELF可执行文件

在NVIDIA上:

OpenCL - 编译 - > PTX - 编译 - > ISA - 链接 - >可执行格式的某种

对于AMD来说,曾经有CAL比OpenGL / OpenCL提供更低的访问级别,但它已被弃用。 有一些提示说,虽然可以通过OpenCL访问IL和ISA。 看到这个论坛主题:http://forums.amd.com/forum/messageview.cfm?catid=390&threadid=150149&forumid=9

链接地址: http://www.djcxy.com/p/38413.html

上一篇: Is there a lower level API beyond DirectX/OpenGL?

下一篇: Which version of OpenGL/Direct3D should I target for optimum compatibility?