第五章 GL_TEXTURE

      在〈第五章 GL_TEXTURE〉中尚無留言

在OpenGL中, 讓人很混亂的是有自訂產生的 int []textures, 也有GLES20.GL_TEXTURE0~31, 這些是作什麼用的呢,以及如何應用, 如何切換, 都將在本章進行說明

GLES20.glGenTexture

先看一下如下程式碼

int [] textures=new int[5];
GLES20.glGenTextures(5, textures, 0);

上述程式碼, 是跟顯卡要求5個記憶体區塊, 顯卡請會傳回五組編號放入textures陣列中. 致於每一區塊的大小則由顯卡管理, 不在作業系統的管轄範圍, 也不需知道如何管理.

gltexture_0

GLES20.GL_TEXTURE

在OpenGL中, 規畫了32個通道, 供顯卡讀取資料並顯示渲染到螢幕上, 通道編號分別為0~31. 在shaderFrame中,  gl_FragColor = texture2D(uTexture, vTexPosition);其中的uTexure就是指的要由那一個通道取得資料, 並顯示到螢幕上.

gltexture_1

致於要由那個通道取得資料呢, 則由Java程式碼中的texture變數指定, 將 0 or 1 or 2 or …31傳給ShaderProgram中的uTexture變數即可。

🔒 底下內容僅限會員閱讀。

立即登入

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *