当前位置: 首页 > news >正文

有没有做字的网站建e室内设计网玄关

有没有做字的网站,建e室内设计网玄关,房地产建筑公司网站,网络科技公司经营范围包括哪些前因 最近在尝试使用Opengl ES实现一些LUT滤镜效果,在实现这些滤镜效果的时候遇到一些兼容性的坑,踩过这些坑后我希望把这几个坑分享给读者朋友们, 希望同在学习Opengl ES的朋友们能少走弯路。 关于LUT滤镜相关的介绍,也是这个O…

前因

最近在尝试使用Opengl ES实现一些LUT滤镜效果,在实现这些滤镜效果的时候遇到一些兼容性的坑,踩过这些坑后我希望把这几个坑分享给读者朋友们,
希望同在学习Opengl ES的朋友们能少走弯路。

关于LUT滤镜相关的介绍,也是这个Opengl ES系列入门教程的一项内容,在后面的文章中会专门介绍,这里暂时不展开讲解,后续大家敬请期待。

踩坑详情

1、着色器编译报错

有以下这个片元着色器,在其他手机上正正常编译,但是在华为鸿蒙系统上却编译报错:

#version 300 es 
precision mediump float;
in vec2 TexCoord;
uniform sampler2D ourTexture;
uniform sampler3D textureLUT;
out vec4 FragColor;
void main()
{
vec4 color = texture(ourTexture, TexCoord);
FragColor = texture(textureLUT,color.rgb);
}

报错内容:

no default precision defined for variable 'textureLUT'

很明显说是没有声明精度的问题,然后在第二行不是已经使用precision mediump float;声明了精度了吗?是的,这已经声明了精度,但是这个声明的精度是针对float类型的,
针对sampler3D类型的精度并没有声明,因此我们只需要声明以下sampler3D的精度问题即可。下面是经过修改过的正确的着色器代码:

#version 300 es
precision mediump float;
in vec2 TexCoord;
uniform sampler2D ourTexture;
// 华为手机上必须加上highp,否则报错no default precision defined for 
uniform mediump sampler3D textureLUT;
out vec4 FragColor;
void main()
{
vec4 color = texture(ourTexture, TexCoord);
FragColor = texture(textureLUT,color.rgb);
}

2、glTexImage3D报错GL_INVALID_OPERATION

使用以下代码上传3DLut的cube纹理数据时,部分手机能正常工作,但是同样在华为鸿蒙的手机上却报错,使用函数glGetError()获取到的错误是GL_INVALID_OPERATION

        GLES30.glTexImage3D(GL_TEXTURE_3D,0,GL_RGB,size, size, size,0,GL_RGB,GL_FLOAT,lutBuffer);

后来经过查阅资料发现是使用函数glTexImage3D时的第三个参数传递错误所致的,将第三个参数GL_RGB改为GLES30.GL_RGB16F即可,正确的代码如下:

    GLES30.glTexImage3D(GL_TEXTURE_3D,0,// 鸿蒙等要用GLES30.GL_RGB16F, 小米等其他手机可用GL_RGBGLES30.GL_RGB16F,size, size, size,0,GL_RGB,GL_FLOAT,lutBuffer);

GLES30.GL_RGB16F格式是浮点帧缓冲的相关内容,当帧缓冲使用了一个标准化的定点格式(像GL_RGB)为其颜色缓冲的内部格式,OpenGL会在将这些值存入帧缓冲前自动将其约束到0.0到1.0之间。
当一个帧缓冲的颜色缓冲的内部格式被设定成了GL_RGB16F,GL_RGBA16F,GL_RGB32F或者GL_RGBA32F时,这些帧缓冲被叫做浮点帧缓冲(Floating Point Framebuffer),浮点帧缓冲可以存储超过0.0到1.0范围的浮点值。

Opengl ES系列入门介绍

Opengl ES之EGL环境搭建
Opengl ES之着色器
Opengl ES之三角形绘制
Opengl ES之四边形绘制
Opengl ES之纹理贴图
Opengl ES之VBO和VAO
Opengl ES之EBO
Opengl ES之FBO
Opengl ES之PBO
Opengl ES之YUV数据渲染
YUV转RGB的一些理论知识
Opengl ES之RGB转NV21

关注我,一起进步,人生不止coding!!!

http://www.yayakq.cn/news/594482/

相关文章:

  • 西安学校网站建设多少钱上海工商局官网查询
  • 网站加app建设上海传媒公司名字
  • 镇江品牌网站建设手机网站设计制作服务
  • 跨境购网站建设起零网站建设
  • 免费做的英文网站东莞东坑网站设计
  • 河北省建设厅官方网站大良制作网站
  • 做网站的框架结构营销策划是什么意思
  • 建设厅网站更改登陆密码做旅游网站的产品经理如何
  • 资阳网站制作网站标题优化可以含几个关键词
  • 衡水网站建设与制作信息流推广渠道
  • 如何百度搜到网站做系统进化树的网站
  • 怎样做一家网站项目策划书模板
  • 网站关键词优化的方法wordpress制作客户端
  • 网站配色方法短视频制作团队哪里找
  • 密云上海网站建设WordPress颜色筛选插件
  • 网站建设商品编码是多少网络舆情管控
  • 网站备案有什么要求西安网站建设 翼驰
  • 福建省住建厅建设网站wordpress 顶部 浮动
  • 福州网站平台建设公司官网下载安装
  • 咸宁网网站uc浏览器关键词排名优化
  • js网站变灰色代码wordpress主题安装目录
  • 网站设计书的结构一个产品有两个品牌怎么做网站
  • 商务网站系统中支付功能怎么做保定网站建设团队
  • 做logo的比赛网站保定网站建设制作服务
  • 自己做淘宝客是不是需要建网站做网站界面尺寸是多少
  • asp 网站开发实例教程百度网站怎么优化排名
  • 旅游网站设计思路及设计过程临沂专业网站建设公司哪家好
  • 北京南站地铁最好用的网站
  • 安徽省经工建设集团网站付费腾讯企业邮箱入口
  • 中国航天建设集团有限公司网站微信电商平台有哪些