OpenGL筆記 如何顯示一張圖片
看了好多人寫的用Opengl es 顯示一張圖片的代碼,所以做一下自己的筆記。
顯示圖片幀的大致步驟,基本步驟都一致的。其他的就大不相同了。
glClear? 清理背景
glUseProgram? 使用程序片段
glVertexAttribPointer給程序傳入?yún)?shù)
glActiveTexture 激活紋理單元
glBindTexture 綁定紋理
glDrawElements 繪制內(nèi)容
官方文檔網(wǎng)址:
OpenGL? ES 3.2 Reference Pages
https://registry.khronos.org/OpenGL-Refpages/es3/
安卓SDK是GLES32這個(gè)類
void?glDrawElements(
GLenum?mode,?GLsizei?count,?GLenum?type,?const void *?indices)
;
第一個(gè)參數(shù)的描述:
Specifies what kind of primitives to render. Symbolic constants?
GL_POINTS
,?GL_LINE_STRIP
,?GL_LINE_LOOP
,?GL_LINES
,?GL_LINE_STRIP_ADJACENCY
,?GL_LINES_ADJACENCY
,?GL_TRIANGLE_STRIP
,?GL_TRIANGLE_FAN
,?GL_TRIANGLES
,?GL_TRIANGLE_STRIP_ADJACENCY
,?GL_TRIANGLES_ADJACENCY
?and?GL_PATCHES
?are accepted.
都是為目標(biāo)渲染一張矩形平面圖,所以最后選擇圖形中有用(GL_TRIANGLES)5個(gè)點(diǎn)+5個(gè)三角形、有人用(GL_TRIANGLES)4個(gè)點(diǎn)+2個(gè)三角形、也有用(GL_TRIANGLE_FAN)4個(gè)點(diǎn)+2個(gè)三角形。反正覺得很神奇,所以我找來了官方文檔看了一下,才知道有這么多。






