opengles3.0 片段着色器(八):

opengles3.0 片段着色器(八):

      顶点颜色通常保存一个预先计算的颜色或者顶点照明计算的结果。纹理颜色来自于实用图元纹理坐标绑定的纹理中读取的值

      #version 300es 

precision mediump float;

unifomr sampler2d s_tex0;

in vec2 v_texCoord;

in vec4 v_primaryColor;

layout(location=0) out vec4 outColor

void main() {

    outColor = texture(s_tex0, v_texCoord)*v_primaryColor;

}

 

纹理读取结果和从顶点着色器传递的输入值v_primaryColor相乘。这个例子,顶点着色器已经将颜色传递给片段着色器。

 

 

precision mediump float;

in vec2 v_texCoord;

layout(location=0) out vec4 outColor;

uniform sampler2D s_baseMap;

uniform sampler2D s_lightMap;

void main() {

     vec4 baseColor;

     vec4 lightColor;

baseColor = texture(s_baseMap,v_texCoodrd);

lightColor = texture(s_lightmap,v_texCoord);

outColor = baseColor)(lightColor+0.25)

 

}

 

 

设置代码

glActiveTexture(GL_TEXTURE0);

glBindTexture(GL_TEXTURE_2D,baseTextrureid);

glUniformli(baseMapLoc,0);

 

glActiveTexture(GL_TEXTURE1);

glBindTexture(GL_TEXTURE_2D,lightTextrureid);

glUniformli(lightMapLoc,0);

 

 

着色器实现 alpha测试:

 

   #version300 es

   precision mediump float;

uniform sampler2D baseMap;

in vec2 v_texCoord;

layout (location = 0) out vec4 outColor;

void main() {

   vec4 baseColor = texture(baseMap,v_texCoord);

  if (baseColor.a<0.25) {

     discard;

  }

  else 

  {

     outColor = baseColor;

  }

 

}

 

 

用户裁剪平面。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值