2013-10-12 77 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圖形。