首先我们修改下纹理的数据格式,将GL_LUMINANCE改为GL_RED,将GL_LUMINANCE_ALPHA改为GL_RG,完整代码如下: voidYUVRenderOpengl::setYUVData(void*y_data,void*uv_data,intwidth,intheight,intyuvType){ //准备y数据纹理 glGenTextures(1,&y_textureId); glActiveTexture(GL_TEXTURE2); glUniform1i(y_textureSam...
GL_LUMINANCE_ALPHA 改为 GL_RG ,完整代码如下:void YUVRenderOpengl::setYUVData(void *y_data, void *uv_data, int width, int height, int yuvType) { // 准备y数据纹理 glGenTextures(1, &y_textureId); glActiveTexture(GL_TEXTURE2); glUniform1i(y_textureSampler, 2); // 绑定纹理 glBindTex...
既然GL_LUMINANCE和GL_LUMINANCE_ALPHA被删除了,那我们可以再查询些资料看看Opengl中还有那些变量时可以表示一个数据通道和两个数据通道的,这样问题应该就能够解决了。 在Opengl中表示一个通道和表示两个通道的变量还是不少的,例如GL_RED、GL_RED、GL_GREEN、GL_BLUE等这些变量可以表示一个颜色通道的数据,而GL_RG可...
GL_LUMINANCE, GL_LUMINANCE_ALPHA 等几种。 width 指定纹理图像的宽度,必须是2的n次方。纹理图片至少要支持64个材质元素的宽度 height 指定纹理图像的高度,必须是2的m次方。纹理图片至少要支持64个材质元素的高度 border 指定边框的宽度。必须为0。 format 像素数据的颜色格式,必须和internalformatt取值必须相同。
GL_LEQUAL:如果引入的alpha值小于或等于参照值则通过。 GL_GREATER:如果引入的alpha值比参照值大则通过。 GL_NOTEQUAL:如果引入的alpha值与参照值不相等则通过。 GL_GEQUAL:如果引入的alpha值大于或等于参照值则通过。 GL_ALWAYS:总是通过。(初始设定) ...
先绑定纹理单元,然后配置纹理过滤,接着就是最关键的glTexImage2D方法了。 glTexImage2D方法在上一篇博文中已经调过,就是将纹理像素数据传递到片段着色器的方法。 这次颜色格式改为上面提到的GL_LUMINANCE,表示亮度,用于形成灰度图。这样假如某个Y的值为L,则传入片段着色器中的纹理就成了(L,L,L,1)。因为YUV的...
这一部分的代码参考自GPUImage的GPUImageVideoCamera类,YUV视频帧分为亮度和色度两个纹理,分别用GL_LUMINANCE格式和GL_LUMINANCE_ALPHA格式读取。 1、创建亮度纹理; 代码语言:javascript 代码运行次数:0 运行 AI代码解释 glActiveTexture(GL_TEXTURE0);err=CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault,...
除了这些压缩格式外,OpenGL中还加入了一些特定的压缩格式,即GL_COMPRESSED_SIGNED_RED_RGTC1,GL_COMPRESSED_SIGNED_RED_RGTC2,和GL_COMPRESSED_SIGNED_RG_RGTC2,它们用于各种单颜色通道和双颜色通道压缩纹理,他们代替了兼容版本中GL_LUMINANCE和GL_LUMINANCE_ALPHA的功能 11)判断纹理是否被成功压缩 代码语言:javascript...
//第一个参数target 是指定纹理单元的目标纹理,二维就是GLES20.GL_TEXTURE_2D是有取值范围的 //第二个参数是level,是指定详细编号,0表示基本图像级别,n就是第n个缩略图 //第三个参数internalformat ,指定纹理的内部格式,必须是下列符号常量之一:GL_ALPHA,GL_LUMINANCE,GL_LUMINANCE_ALPHA,GL_RGB,GL_RGBA。因为...
glTexImage2D(GL_TEXTURE_2D, 0,//细节基本 默认0 GL_LUMINANCE,//gpu内部格式 亮度,灰度图(这里就是只取一个颜色通道的意思) width / 2, height / 2,//v数据数量为屏幕的4分之1 0,//边框 GL_LUMINANCE,//数据的像素格式 亮度,灰度图 GL_UNSIGNED_BYTE,//像素点存储的数据类型 ...