2013-10-12 64 views
1

我的源代码中的OpenGL库调用是'something'的接口。什么是'某些'软件?它是我电脑中图形卡的设备驱动程序吗?什么是OpenGL API接口?

+0

已经试过[wikipedia](http://en.wikipedia.org/wiki/OpenGL)了吗? – Till

+1

[我对这个问题的回答](http://stackoverflow.com/a/10570386/1122135)会回答你的问题,并给你一些额外的信息,所以我要链接到它而不是重写其中一部分作为答案。 –

+0

[OpenGL如何在最低级别工作?](http://stackoverflow.com/questions/6399676/how-does-opengl-work-at-the-lowest-level) – datenwolf

回答

3

您会将您的应用程序与OpenGL库链接。该库是一组功能,可以执行绘制三角形,打开灯光等功能。库也是机器上硬件的抽象。所以是的,最终它会调用设备驱动程序来完成一些工作。

当您调用诸如glTexImage2D()之类的方法时,您正在调用OpenGL库中的函数。该函数可能对你传递的数据做了一些事情,然后调用设备驱动程序来告诉它:“这里有一些描述2D图像的像素。”驱动程序然后将该数据复制到卡上的存储器中(除非您设置了一些参数以告诉它数据可以稍后复制)。

使用OpenGL意味着您不必担心机器中显示哪种品牌的显卡,并且您有一个统一的界面来在系统间绘制3D图形。