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;}

你可能感兴趣的:(android,opengl,es,文字)