2012-03-21 60 views
5

我不完全理解在GPU上訪問紋理數據的方式。如果可能 - 任何人都可以解釋這些?在OpenGL中,GPU如何訪問紋理數據?

  1. 當紋理單元的數量是有限的,這是否限制紋理數量我可以生成使用glGenTextures()並上傳到使用glTexImage2D()的GPU?或者它是否僅限制可以使用glBindTexture()綁定的紋理單元的數量?

  2. 我真正喜歡做的事是能夠到我的所有紋理上傳到GPU - 即使有比可用紋理單元的數量。當需要紋理時,我只需使用glBindTexture()將其綁定到紋理單元。這可能嗎?

回答

4

廣告。 1.紋理單位等於可以同時綁定的紋理數量。

Ad。 2.這正是要走的路 - 您可以隨意上傳儘可能多的紋理,並僅綁定當前平局所需的紋理。這是GPU驅動程序自動將所需數據(即當前綁定的紋理的紋理像素)分頁到GPU和系統的RAM中的工作之一。

+0

太棒了 - 感謝您的幫助! :)這正是我所希望的! – user1081465 2012-03-21 12:31:37