功能型網(wǎng)站制作多少錢2019年度最火關(guān)鍵詞
使用2個紋理實現(xiàn) NV21 格式圖像渲染
前文提到渲染 NV21 格式圖像需要使用 2 個紋理,分別用于保存 Y plane 和 UV plane 的數(shù)據(jù),然后在片段著色器中分別對 2 個紋理進(jìn)行采樣,轉(zhuǎn)換成 RGB 數(shù)據(jù)。
OpenGLES 渲染 NV21或 NV12 格式圖像需要用到 GL_LUMINANCE 和 GL_LUMINANCE_ALPHA 格式的紋理,其中 GL_LUMINANCE 紋理用來加載 NV21 Y Plane 的數(shù)據(jù),GL_LUMINANCE_ALPHA 紋理用來加載 UV Plane 的數(shù)據(jù)。
OpenGLES 常用紋理的格式類型
GL_LUMINANCE 紋理在著色器中采樣的紋理像素格式是(L,L,L,1),L 表示亮度。
GL_LUMINANCE 紋理在著色器中采樣的紋理像素格式是(L,L,L,A),A 表示透明度。
加載 NV21 的 2 個 Plane 數(shù)據(jù)到紋理,ppPlane[0] 表示 Y Plane 的指針,ppPlane[1] 表示 UV Plane 的指針,注意 2 個紋理的格式和寬高。
//upload Y plane data