android opengl es 文字,在OpenGL ES中绘制文本

在onDraw事件中,仅更新发送到着色器的值变量。precision highp float;precision highp sampler2D;uniform float uTime;uniform float uValue;uniform vec3 iResolution;varying vec4 v_Color;varying vec2 vTextureCoord;uniform sampler2D s_texture;void main() {vec4 fragColor = vec4(1.0, 0.5, 0.2, 0.5);vec2 uv = vTextureCoord;float devisor = 10.75;float digit;float i;float uCol;float uRow;if (uv.y 

if (uv.x > 0.75) {

digit = floor(uValue*10.0);

digit = digit - floor(digit/10.0)*10.0;

i = 48.0 - 32.0 + digit;

uRow = floor(i / 10.0);

uCol = i - 10.0 * uRow;

fragColor = texture2D( s_texture, uv / devisor * 2.0 + vec2((uCol-1.5) / devisor, uRow / devisor) );

} else if (uv.x > 0.5) {

uCol = 4.0;

uRow = 1.0;

fragColor = texture2D( s_texture, uv / devisor * 2.0 + vec2((uCol-1.0) / devisor, uRow / devisor) );

} else if (uv.x > 0.25) {

digit = floor(uValue);

digit = digit - floor(digit/10.0)*10.0;

i = 48.0 - 32.0 + digit;

uRow = floor(i / 10.0);

uCol = i - 10.0 * uRow;

fragColor = texture2D( s_texture, uv / devisor * 2.0 + vec2((uCol-0.5) / devisor, uRow / devisor) );

} else if (uValue >= 10.0) {

digit = floor(uValue/10.0);

digit = digit - floor(digit/10.0)*10.0;

i = 48.0 - 32.0 + digit;

uRow = floor(i / 10.0);

uCol = i - 10.0 * uRow;

fragColor = texture2D( s_texture, uv / devisor * 2.0 + vec2((uCol-0.0) / devisor, uRow / devisor) );

} else {

fragColor = vec4(0.0, 0.0, 0.0, 0.0);

}} else {

fragColor = vec4(0.0, 0.0, 0.0, 0.0);}gl_FragColor = fragColor;}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值